在核心数据中,您可以将关系设置为可选,但您可以将其设置为最小检查或不检查...检查下面的图像是否有差异。
什么我认为我注意到当你使用谓词如@"object != %@", objectToSearchFor
搜索对象时,第一个设置返回nil,但第二个设置不返回。我可能会弄错,但是有人知道这两个设置之间的区别吗?
P.S。我不知道它是否重要,但我使用SQLite作为数据库引擎。
答案 0 :(得分:4)
NSRelationshipDescription Class Reference中有一些相关文档:
<强>基数强>
关系的最大和最小计数 表示引用的对象数(1表示一对一 关系,-1表示未定义)。计数仅在以下情况下执行 包含对象中的关系值不是nil。那是, 如果关系值是可选的,则可能为零 关系中的对象,可能小于最小值 计数。
例如,在可选的多对多关系的情况下:关系的值必须是nil
,或者至少包含所需对象的最小数量。
在可选的一对一关系的情况下,关系值要么是nil
要么指向另一个对象,所以我想不出最小计数是0还是1会产生差异的情况
保存托管对象上下文时,会检查所有约束,如最小和最大计数等。