| |
| |
Introduction | |
| |
| |
| |
Under the Hood of Core Data | |
| |
| |
| |
NSManagedObjectModel | |
| |
| |
| |
NSPersistentStoreCoordinator | |
| |
| |
| |
NSManagedObjectContext | |
| |
| |
| |
NSManagedObject | |
| |
| |
| |
NSFetchRequest | |
| |
| |
| |
NSSortDescriptor | |
| |
| |
| |
Fetched Properties | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
iOS: NSFetchedResultsController | |
| |
| |
| |
How to Use the NSFetchedResultsController | |
| |
| |
| |
Under the Hood of the NSFetchedResultsController | |
| |
| |
| |
Building Our Own: ZSContextWatcher | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
Versioning and Migration | |
| |
| |
| |
Some Maintenance Before We Migrate | |
| |
| |
| |
A Simple Migration | |
| |
| |
| |
The Difference Between Light and Heavy Migrations | |
| |
| |
| |
A Heavy/Manual Migration | |
| |
| |
| |
Fundamentals of Core Data Versioning | |
| |
| |
| |
Progressive Data Migration (An Academic Exercise) | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
Performance Tuning | |
| |
| |
| |
Persistent Store Types | |
| |
| |
| |
Optimizing Your Data Model | |
| |
| |
| |
Fetching | |
| |
| |
| |
Faulting | |
| |
| |
| |
Access Patterns | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
Threading | |
| |
| |
| |
Why Isn't Core Data Thread-Safe? | |
| |
| |
| |
Creating Multiple Contexts | |
| |
| |
| |
Exporting Recipes | |
| |
| |
| |
Importing Recipes | |
| |
| |
| |
Parent-Child NSManagedObjectContext Instances | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
Using iCloud | |
| |
| |
| |
Introducing the UIManagedDocument | |
| |
| |
| |
Direct NSManagedObjectContext to iCloud | |
| |
| |
| |
Consuming Changes from iCloud | |
| |
| |
| |
Under the Hood | |
| |
| |
| |
Migrating an Existing Application | |
| |
| |
| |
Desktop iCloud Integration | |
| |
| |
| |
Data Quantities | |
| |
| |
| |
Sharing Data Between iOS and OS X | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
Adding a Desktop Foundation | |
| |
| |
| |
Our Application | |
| |
| |
| |
Our Application Design | |
| |
| |
| |
Sharing the Data Model | |
| |
| |
| |
Building the Controller Layer | |
| |
| |
| |
Building the User Interface | |
| |
| |
| |
Adding a Splash of Code | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
OS X: Bindings, KVC, and KVO | |
| |
| |
| |
Key Value Coding | |
| |
| |
| |
Key Value Observing | |
| |
| |
| |
Cocoa Bindings and Core Data | |
| |
| |
| |
Other Interface Elements That Use KVO, KVC, and Core Data | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
Spotlight, Quick Look, and Core Data | |
| |
| |
| |
Integrating with Spotlight | |
| |
| |
| |
Integrating with Quick Look | |
| |
| |
| |
Putting It All Together | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
Dynamic Parameters | |
| |
| |
| |
Bunching the Xcode Example Project | |
| |
| |
| |
The DocumentPreferences Object | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
Distributed Core Data | |
| |
| |
| |
Building the Server | |
| |
| |
| |
Building the Client | |
| |
| |
| |
Testing the Networking Code | |
| |
| |
| |
Wrapping Up | |
| |
| |
| |
Building a Foundation | |
| |
| |
| |
The Storyboard | |
| |
| |
| |
The Recipe List | |
| |
| |
| |
The Recipe Detail | |
| |
| |
| |
The Edit Workflow | |
| |
| |
| |
Ready for Core Data | |
| |
| |
| |
Macros in the Precompiled Header | |
| |
| |
| |
Where Are the Macros? | |
| |
| |
| |
What Do They Do? | |
| |
| |
Bibliography | |
| |
| |
Index | |