iOS Reference Library Apple Developer
Search

Introduction

What is Core Data?

The Core Data framework provides solutions to common tasks associated with object life-cycle and object graph management, including persistence. Its features include:

Prerequisites

Core Data is not an entry-level technology. It leverages many other Cocoa technologies and design patterns. You must understand these technologies and patterns before you can use Core Data effectively:

One of the persistent stores provided by Core Data is based upon SQLite. If you use this store, it is useful—although not essential—to have at least a superficial understanding of the SQL language. Documentation for SQLite is available from the SQLite project web site. There are numerous resources that describe the SQL language, for example Wikipedia (SQL).

Path to Success

The Core Data Programming Guide is primarily a reference volume. You should not simply try to read it straight through to understand Core Data.

To learn about Core Data, you should typically follow this path:

  1. Start by reading the overview in Core Data Basics (in Core Data Programming Guide).

    This will give you a basic understanding of what Core Data is and why you might want to use it.

  2. Work through the Core Data Tutorial for iOS.

    This provides a good introduction to the fundamentals of application development using Core Data.

  3. Work through the Core Data Utility Tutorial.

    This will give you a greater appreciation of the different components of the framework—in particular the managed object model—without the distraction of a user interface.

  4. Work through the tutorial described in Creating a Managed Object Model with Xcode.

    This introduces the major user interface elements of, and teaches you how to use, the Xcode modeling tool.

When specific areas need greater explanation, refer to the Core Data Programming Guide.

After you’ve worked through the introductory materials, try creating more complex applications (using, for example, two related entities) as suggested in Core Data Tutorial for iOS. The Core Data Programming Guide will be increasingly useful as you continue your exploration, as will Model Object Implementation Guide and Predicate Programming Guide.

As you progress, it is important to bear in mind that Core Data objects are still just objects, and have little influence on the user interface parts of your application simply by virtue of being Core Data objects. (In fact, the reverse is true—you may find that your user interface affects the way you structure your data.) You should practice creating Core Data applications using traditional Cocoa techniques such as target-action and delegation just as you would in a non-Core Data application.

Core Data in Depth

There are several documents that describe particular aspects of Core Data in greater depth than in the Programming Guide. You should use these documents only when you have a firm understanding of how Core Data works, and then only if and when you need to:



Last updated: 2009-09-09

Did this document help you? Yes It's good, but... Not helpful...