Core Data基础数据持久化指南
1. 实体与托管对象
实体和托管对象这两个术语可能会让人有些混淆,因为它们都指向数据模型对象。实体是对对象的描述,而托管对象是在运行时创建的该实体的实际具体实例。在数据模型编辑器中,我们创建实体;而在代码里,我们创建和检索托管对象。这就类似于类和类的实例之间的区别。
实体由属性组成,属性主要有以下三种类型:
|属性类型|说明|
| ---- | ---- |
|属性(Attributes)|在Core Data实体中,属性的作用与Objective - C类中的实例变量相同,用于存储数据。|
|关系(Relationships)|用于定义实体之间的关系。关系可以是一对一或一对多。例如,一个人通常只有一个家庭住址,所以从“人”到“家庭住址”的关系可能是一对一;而一个家庭住址可能住着多个人,所以从“家庭住址”到“人”的关系可能是一对多。|
|获取属性(Fetched properties)|是关系的一种替代方式。它允许创建一个查询,在获取数据时评估哪些对象属于该关系。获取属性始终是单向关系,并且是唯一可以跨多个数据存储进行遍历的关系类型。|
通常,属性、关系和获取属性是使用Xcode的数据模型编辑器来定义的。
2. 键值编码
在代码中,我们使用键值编码来设置属性或检索其现有值,而不是使用访问器和修改器。键值编码听起来可能有些复杂,但其实我们已经在很多地方使用过它,比如每次使用 NSDictionary 时,就是在使用键值编码,因为字典中的每个对象都存储在一个唯一的键值下。Core Data使用的键值编码比 NS
超级会员免费看
订阅专栏 解锁全文
5

被折叠的 条评论
为什么被折叠?



