iOS CoreData关系:使用带或不带最小值的可选项

时间:2013-01-11 07:50:10

标签: ios core-data relationship

在核心数据中,您可以将关系设置为可选,但您可以将其设置为最小检查或不检查...检查下面的图像是否有差异。 什么我认为我注意到当你使用谓词如@"object != %@", objectToSearchFor搜索对象时,第一个设置返回nil,但第二个设置不返回。我可能会弄错,但是有人知道这两个设置之间的区别吗?

Optional relationship without minimum

Optional relationship with minimum

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

1 个答案:

答案 0 :(得分:4)

NSRelationshipDescription Class Reference中有一些相关文档:

  

<强>基数
  关系的最大和最小计数   表示引用的对象数(1表示一对一   关系,-1表示未定义)。计数仅在以下情况下执行   包含对象中的关系值不是nil。那是,   如果关系值是可选的,则可能为零   关系中的对象,可能小于最小值   计数。

例如,在可选的多对多关系的情况下:关系的值必须是nil,或者至少包含所需对象的最小数量。

在可选的一对一关系的情况下,关系值要么是nil要么指向另一个对象,所以我想不出最小计数是0还是1会产生差异的情况

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