- NSPersistentStoreCoordinator
- NSManagedObject
- NSManagedObjectContext
- NSFetchRequest
- NSFetchedResultsController
- 调试
NSPersistentStoreCoordinator
- 类似数据库链接句柄
- 可以关联多个本地存储给一个模型
- NSSQLitePragmasOption:@{@”journal_mode”:@”DELETE”}
- NSSQLitePragmasOption:@{@”journal_mode”:@”WAL”}
- NSMigratePersistentStoresAutomaticallyOption
- NSInferMappingModelAutomaticallyOption
NSManagedObject
- 属性 NSAttributeDescription
- 关系 NSRelationshipDescription
- 查询 NSFetchedPropertyDescription
- NSEntityDescription 描述
- 自定义属性获取 willAccessValueForKey、 didAccessValueForKey
- 自定义属性设置 willChangeValueForKey、didChangeValueForKey
- 自定义属性设置 setPrimativeValue:forKey:
- 临时属性相关属性设置需要添加临时属性willchange和didchange
- 临时属性关联 keyPathsForValuesAffectingValueForKey:、keyPathsForValuesAffecting*
NSManagedObjectContext
- 数据句柄与数据间的管理者
- 多个管理间可以并行工作
- 冲突会自动在管理者间通知
NSFetchRequest
- returnsObjectsAsFaults 是否延迟加载
- relationshipKeyPathsForPrefetching 关系延时加载设置
NSFetchedResultsController
调试
- -com.apple.CoreData.SQLDebug [1 2 3]数字越大sql越多
- -com.apple.CoreData.SyntaxColoredLogging 1 语法着色
- -com.apple.CoreData.SQLiteDebugSynchronous [0,1,2]0不写磁盘,1正常,2默认
- -com.apple.CoreData.SQLiteIntegrityCheck 1 让sqlite检查事物完整性
- -com.apple.CoreData.ThreadingDebug [1,2,3]多线程调试越高越详细