Alert: I am in the process of migrating this site to ers.land !
Please update any bookmarks or feed subscriptions; p3l6.dev will be set to redirect soon.
Making Apps with Core Data
<<Back to Index
Modeling data
Model explorer? an box diagram type viewer
Attributes and relationships
Cascade and other deletion rules
Classes
Model: ManagedObjectModel
Store coordinator: PersistentStoreCoordinator
Usually manages a db on the filesystem,
Context: ManagedObjectContext
Need this to get anything done
All three contained in a PersistentContainer
easily created via model name
container.loadPersistenStores()
Contexts:
Query generations provide stability, set to .current
automaticcally merges changes from parent = true
Should do all data work on a context queue
performAndWait, perform, performBackgroundTask
Data
Can init objects, and save to create them.
But if you need a lot more, batch insertions.
Controllers
Fetching
Fetch requests get objs from a store. with predicates.
Can use KVO on these ManagedObjects with views
Can set sort descriptors
Can set batch size, limits
Fetch results controller, for basically streaming results as the load and update. For table views basically
Denormalization
when we keep copys of data to make access more efficient. like db indexes
DerivedAttributes. Normalized metadata maintained for you by core data.
Supports duplication, transformation (lowercase etc), aggregates like count, zero param functions (now())
Scaling
Fetching persistent history changes
How to know when other coordinators change the store
Remote Change Notifications
turn on with a persistent change option
and turn on persistent history
Use the sanitizers
p3l6.dev
Home
Now
Hobbies
Blog
Recipes
Resume
Contact
Blueprint