IOS

Core Data 使用

Core Data 使用

Posted by nomadli on January 4, 2016

NSPersistentStoreCoordinator

  1. 类似数据库链接句柄
  2. 可以关联多个本地存储给一个模型
  3. NSSQLitePragmasOption:@{@”journal_mode”:@”DELETE”}
  4. NSSQLitePragmasOption:@{@”journal_mode”:@”WAL”}
  5. NSMigratePersistentStoresAutomaticallyOption
  6. NSInferMappingModelAutomaticallyOption

NSManagedObject

  1. 属性 NSAttributeDescription
  2. 关系 NSRelationshipDescription
  3. 查询 NSFetchedPropertyDescription
  4. NSEntityDescription 描述
  5. 自定义属性获取 willAccessValueForKey、 didAccessValueForKey
  6. 自定义属性设置 willChangeValueForKey、didChangeValueForKey
  7. 自定义属性设置 setPrimativeValue:forKey:
  8. 临时属性相关属性设置需要添加临时属性willchange和didchange
  9. 临时属性关联 keyPathsForValuesAffectingValueForKey:、keyPathsForValuesAffecting*

NSManagedObjectContext

  1. 数据句柄与数据间的管理者
  2. 多个管理间可以并行工作
  3. 冲突会自动在管理者间通知

NSFetchRequest

  1. returnsObjectsAsFaults 是否延迟加载
  2. relationshipKeyPathsForPrefetching 关系延时加载设置

NSFetchedResultsController

调试

  1. -com.apple.CoreData.SQLDebug [1 2 3]数字越大sql越多
  2. -com.apple.CoreData.SyntaxColoredLogging 1 语法着色
  3. -com.apple.CoreData.SQLiteDebugSynchronous [0,1,2]0不写磁盘,1正常,2默认
  4. -com.apple.CoreData.SQLiteIntegrityCheck 1 让sqlite检查事物完整性
  5. -com.apple.CoreData.ThreadingDebug [1,2,3]多线程调试越高越详细

NSPredicate