Introduction to Core Data Programming Guide
The Core Data framework provides generalized and automated solutions to common tasks associated with object life-cycle and object graph management, including persistence.
Who Should Read This Document
You should read this document to gain an understanding of the Core Data framework. You must be familiar with the basics of Cocoa development, including the Objective-C language and memory management.
Organization of This Document
The following articles explain the problems the Core Data Framework addresses, the solutions it provides, its basic functionality, and common tasks you might perform:
“Technology Overview” describes what Core Data is and why you might choose to use it.
“Core Data Basics” describes the fundamental architecture of the technology.
“Managed Object Models” describes the features of a managed object model.
“Using a Managed Object Model” describes how you use a managed object model in your application.
“Managed Objects” describes the features of a managed object, the
NSManagedObjectclass, and how and why you might implement a custom class to represent an entity.
“Managed Object Accessor Methods” describes how to write accessor methods for custom managed objects.
“Creating and Deleting Managed Objects” describes how to correctly instantiate and delete managed objects programmatically.
“Fetching Managed Objects” describes how to fetch managed objects, and some considerations to ensure that fetches are efficient.
“Using Managed Objects” describes issues related to manipulating managed objects in your application.
“Object Lifetime Management” describes aspects of memory management when using Core Data.
“Relationships and Fetched Properties” describes relationships, how to model them, and issues related to manipulating relationships between managed objects. It also describes fetched properties, which are like weak unidirectional relationships.
“Non-Standard Persistent Attributes” describes how to use attributes with non-standard value types (such as colors and C-structures).
“Managed Object Validation” describes types of validation, how to implement validation methods, and when to use validation.
“Faulting and Uniquing” describes how Core Data constrains the size of the object graph, and ensures that each managed object within a managed object context is unique.
“Using Persistent Stores” describes how you create a persistent store, how you can migrate a store from one type to another, and manage store metadata.
“Core Data and Cocoa Bindings” describes how Core Data integrates with and leverages Cocoa bindings.
“Change Management” describes the issues that may arise if you create multiple managed object contexts or multiple persistence stacks.
“Persistent Store Features” describes the features of the different types of store, and how you can configure the behavior of the SQLite store.
“Concurrency with Core Data” describes how to use concurrent programming in a Core Data application.
“Core Data Performance” describes techniques you can use to ensure a Core Data application is as efficient as possible.
“Troubleshooting Core Data” describes common errors developers make when using Core Data, and how to correct them.
“Efficiently Importing Data” describes how you can import data into a Core Data application.
“Core Data FAQ” provides answers to questions frequently asked about Core Data.
“Glossary” provides a glossary of terms used in Core Data.
You should also refer to: