本文介绍的Core Data的基本概念是基于最常见的场合: Core Data配合SQLite数据库使用。Core Data也可以处理内存中的数据,这点不在讨论范围内
-
Core Data中基本的类
- NSEntityDescription: 数据库实体的描述
- NSManagedObject: 数据库中数据条目的描述
- NSPersistentStore: 数据库
- NSPersistentStoreCoordinator: 数据库管理者
- NSManagedObjectModel:数据库schema文件,描述实体以及实体之间的关系
- NSManagedObjectModelContext:数据库数据的上下文
- NSMappingModel:数据库模型的迁移文件
- NSMigrationManager: 数据库迁移的管理者
-
Core Data中的文件类型
- .xcdatamodeld: xcode的数据模型文件,打包到bundle中后缀.momd
- .xcdatamodel: xcode的各个版本的数据模型文件,在bundle中后缀为.mom
- .xcmappingmodel: xcode的版本迁移文件, 在bundle中后缀为.cdm
-
Core Data Stack
数据库中所有的组件绑定在一起,称为堆栈。堆栈的核心是psc(Persistent Store Coordinator), 它是上层对象图管理部分和下层持久化存储部分相互通知变化的协调者。这三者共同构成了堆栈中的元素。
以moc(managed object context)的save操作为例。moc计算出需要保存的变化,通知给psc。psc通知给具体的ps(persistent store)做保存操作。 psc只是简单的协调ps和moc之间的交互, ps类负责生成具体的sql代码,把变化写入到数据库文件中。
重要说明: 关于Core Data Stack 的描述和配图来自于网络,非原创。由于弄丢了资料来源,如有侵权请告知,将注明原出处。