2. Who Am I?
• Alex Terente
• Mainly iOS developer
• Consultant and working @
TAGonSoft
• alex.terente@TAGonSoft.ro
3. What is Core Data?
“The Core Data framework
provides generalized and
automated solutions to common
tasks associated with object life-
cycle and object graph
management, including
persistence.”
4. What is Core Data?
• Allows definition of Managed Objects
• Functionality to create, update,
delete, query
• Multiple back-end storage options
5. Storage Options
• Binary
• In-memory
• XML
• Not available on the iPhone
• SQLite
• Only option that does not require the
entire store to reside in memory
6. What is not Core
Data
• Core Data is not a relational
database or a relational database
management system
• Core Data is not a silver bullet.
7. Core Data vs. SQLite
SQLite Core Data
Bulk/Set
Operations
Yes No
Automatic object
population
No Yes
Custom SQL Yes No
Select only
certain fields
Yes No
Automated
Migrations
No Yes
Less Complex
Code
No Yes
20. Lightweight migration
• Adding or removing entity, relation or
attribute
• Making attribute non optional
• Making non optional attribute
optional
• Renaming an atribute or entity
26. Threading
• Must create a new
NSManagedObjectContext for each
thread
• NSManagedObjects are
associated with a particular context
• NSManagedObjectContext can be
updated with changes from other
contexts
33. Resources
• Core Data Programming Guide
• Core Data Model Versioning and
Data Migration
• iCloud Programming Guide for Core
Data
• iCloud Design Guide
• Code Sample
https://github.com/TAGonSoft/CoreD
ata_CodeCamp