Core Data中的关系、获取属性和表达式详解
1. 获取属性概述
关系可以将托管对象与特定的其他托管对象关联起来,类似于iTunes的播放列表,能将特定歌曲添加到列表中。而智能播放列表则可根据条件创建,新符合条件的歌曲会自动添加进去。
Core Data中有类似的获取属性,它能基于条件将一个托管对象与其他托管对象关联起来,而不是关联特定对象。获取属性通过创建谓词来定义应返回哪些对象,谓词用于表示选择条件,主要用于对集合进行排序和获取结果。
获取属性具有以下特点:
- 不可变,运行时不能更改其内容。
- 通常在数据模型中指定条件,然后通过属性或键值编码(KVC)访问符合条件的对象。
- 是有序集合,可指定排序顺序,但数据模型编辑器不允许指定排序方式,若需要排序则需编写代码实现。
使用获取属性很简单,创建后可以使用 valueForKey: 方法来检索符合条件的对象,示例代码如下:
NSArray *olderPeople = [person valueForKey:@"olderPeople"];
如果使用自定义的 NSManagedObject 子类并为获取属性定义了属性,也可以使用点符号来检索,示例代码如下:
NSArray *olderPeople = person.olderPeople;
超级会员免费看
订阅专栏 解锁全文
26

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



