This course demonstrates the fundamental techniques needed to effectively use Core Data to store and manage data in your apps. You'll learn the role of each class in the Core Data stack. You'll see how you can quickly and easily define a data model using the tools available in Xcode. Reading and writing data to the model will be covered along with a discussion about how to build sophisticated queries. The NSFetchedResultsController pairs nicely with the UITableView to present data from a Core Data model and you'll see how to use it in your apps. You'll also learn how to version a Core Data model so that data migrations for subsequent versions of your app are simple to implement. The last module will focus on performance tips and tricks and how you can make sure your app works with your data model as efficiently as possible.