4

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

没有最低要求的可选关系

与最小值的可选关系

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

4

1 回答 1

5

NSRelationshipDescription 类参考中有一些关于此的文档:

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

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

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

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

于 2013-01-11T09:02:45.593 回答