gpt4 book ai didi

iphone - 核心数据对象比较

转载 作者:太空狗 更新时间:2023-10-30 03:26:04 25 4
gpt4 key购买 nike

是否有一种简单/通用的方法来比较两个对象以查看它们是否相同? “相同”是指相同的实体名称,所有属性和关系都相同,但内部对象 ID 不同。

同样,是否有一种简单/通用的方法来找出差异?

最佳答案

您是否需要递归地包含关系的相等性(即关系指向根据您的定义相等的目的地)?您是否需要测试托管对象模型之间的相等性?您需要测试未提交的值吗?假设所有这些的答案都是“否”,那么解决方案并不太难...

instance1 根据您的定义等于 instance2 如果:

NSArray *allAttributeKeys = [[[instance1 entity] attributesByName] allKeys];

if([[instance1 entity] isEqual:[instance2 entity]]
&& [[instance1 committedValuesForKeys:allAttributeKeys] isEqual:[instance2 committedValuesForKeys:allAttributeKeys]]) {
// instance1 "==" instance2
}

如果以上任何一个问题的答案是"is",则解决方案要复杂得多。

警告

我不确定这是个好主意。如果您需要使用上述解决方案,您可能需要重新考虑您的设计。几乎肯定有更好的方法来做你想做的事情,而且不会冒与 Core Data 的意图相冲突的风险。

关于iphone - 核心数据对象比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2226608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com