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

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

概述在核心数据中,您可以将关系设置为可选,但您可以将其设置为最小值或不使用…检查下面的图像是否存在差异. 我想我注意到的是,当你使用谓词搜索对象时,如:@“object!=%@”,objectToSearchFor,第一个设置返回nil,但第二个设置没有.我可能会对此有所误解,但是有人知道这两种设置之间的区别吗? 附:我不知道它是否重要,但我使用SQLite作为数据库引擎. 在 NSRelations 在核心数据中,您可以将关系设置为可选,但您可以将其设置为最小值或不使用…检查下面的图像是否存在差异.
我想我注意到的是,当你使用谓词搜索对象时,如:@“object!=%@”,objectToSearchFor,第一个设置返回nil,但第二个设置没有.我可能会对此有所误解,但是有人知道这两种设置之间的区别吗?

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

解决方法 在 NSRelationshipDescription Class Reference中有一些关于此的文档:

Cardinality
The maximum and minimum counts for a relationship
indicate the number of objects referenced (1 for a to-one
relationship,-1 means undefined). The counts are only enforced if the
relationship value in the containing object is not nil. That is,
provIDed that the relationship value is optional,there may be zero
objects in the relationship,which might be less than the minimum
count.

因此,例如,在可选的多对多关系的情况下:关系的值必须为nil,或者至少包含所需对象的最小计数.

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

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

总结

以上是内存溢出为你收集整理的iOS CoreData关系:使用带或不带最小值的可选项全部内容,希望文章能够帮你解决iOS CoreData关系:使用带或不带最小值的可选项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1052530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存