Understanding the Core Data stack
Before you dive right into the project and add Core Data to it, let's take a look at how Core Data works, what it is, and what it isn't. In order to make efficient use of Core Data, you must know what you're working with.
When you work with Core Data, you're utilizing a stack of layers that starts with managed objects and ends with a data store. This data store is often a SQLite database, but there are different storage options you can use with Core Data, depending on your application's needs. Let's take a quick look at the layers involved with Core Data and discuss their roles in an application briefly:
At the top right of this diagram is the NSManagedObject
class. When you use Core Data, this is the class you'll interact with most often since it's the base class for all the Core Data models that your app contains. For instance, in the app that...