2013-01-11 25 views
4

在核心数据,你可以设置为可选的关系,但是你可以用最小的设置检查或不...查看下面的图片的差别。 什么我想我注意到的是,当你搜索使用谓词喜欢的对象:@"object != %@", objectToSearchFor,第一个设置返回nil的,但第二设置不。我可能会误解,但是有人知道两个设置之间的区别吗?的iOS CoreData关系:使用可选的有或无最低

Optional relationship without minimum

Optional relationship with minimum

附:我不知道它是否重要,但我使用SQLite作为数据库引擎。

回答

4

有关于这在NSRelationshipDescription Class Reference一些文档:

基数
用于关系 的最大和最小计数指示的对象的引用的1的数目(对于对一 关系, -1表示未定义)。仅当包含对象中的 关系值不为零时才会执行计数。也就是说, 提供的关系值是可选的,有可能是在关系零个 对象,这可能是小于最小 计数。

因此,例如,在一个可选的一对多的关系的情况下:这种关系的值必须是nil,或至少包含所需对象的最小计数。

在可选的对一的关系,所述关系值的任一情况下是nil或指向另一对象,因此它有差别的最小计数是否为0或1

予想不到的情况

保存托管对象上下文时,会检查最小和最大计数等所有约束。

+0

我无法重现“的第一个设置返回nil的,但第二设置不”,所以我想这是别的东西。谢谢(你的)信息! – Zenuka