Contents
Creating a New Core Data Project
Touring the Core Data Components
Initializing the Core Data Components
Creating a Managed Object Model
Adding Core Data to an Existing Project
Creating a Core Data-less Application
Adding the Core Data Framework
Adding and Initializing the Core Data Stack
Adding Objects to PersistenceApp
Chapter 2: Building Data Models
Relational Database Normalization
Loading and Analyzing the Word List
Understanding Predicates and Expressions
Creating Single-Value Expressions
Creating Collection Expressions
Comparing Expressions Using Different Predicate Types
Using Different Comparison Modifiers
Adding It Up: Using Compound Predicates
Chapter 4: Attending to Data Quality
Updating Seeded Data in Subsequent Releases
Experimenting with the Undo Groups
Handling Core Data Operational Errors
Handling Validation Errors in BookStore
Implementing the Validation Error-Handling Routine
Chapter 5: Integrating with the User Interface
Displaying Table Data with NSFetchedResultController
Creating a Fetched Results Controller
Creating the Fetched Results Controller Delegate
Adding Screenshots to CoreDump
Verifying the External Storage
Searching the Fetched Results in the Table
Chapter 6: Versioning and Migrating Data
Renaming Entities and Properties
Understanding Property Mappings
Creating a New Model Version That Requires a Mapping Model
Making Sure Migration Is Needed
Setting Up the Migration Manager
Chapter 7: Transforming and Encrypting Data
Creating the Project and Adding Core Data
Creating the View and Displaying the Taps
Hey, Wait a Minute! How Did My Color Transform?
Creating the Project and Setting Up the Core Data Model
Performing the Encryption and Decryption
Setting Up the Detail View to Edit a Note
Prompting For and Verifying the Password
An Alternative to Transformable: Data Protection
Chapter 8: Talking to Services: iCloud and Dropbox
Using iCloud’s Ubiquity Container
Integrating with Dropbox Datastore API
Creating a Blank App to Use with Dropbox
Linking to Dropbox Using the Datastore API
Creating and Synching Data with the Dropbox API
Using Core Data with the Dropbox Datastore API: ParcelKit
Adding the Required Frameworks for Dropbox and ParcelKit
Integrating DropboxEvents with Dropbox
Chapter 9: Tuning Performance, Memory Usage, and Multithreading
Building the Application for Testing
Improve Performance with Better Predicates
Oh Come On, What Could Possibly Go Wrong?