gpt4 book ai didi

objective-c - 比较两个 NSManagedObject

转载 作者:太空狗 更新时间:2023-10-30 03:12:47 24 4
gpt4 key购买 nike

我有一些代码循环遍历 NSManagedObjects 数组,并在找到存储在实例变量中的特定记录时停止。我可以设法查看它们是否是相同记录(不是等效记录,特定记录)的唯一方法是比较 objectID 的 URIRepresentations。这肯定不是最好的方法。我在做:

if ([[[obj1 objectID] URIRepresentation] isEqualTo: [[_obj2 objectID] URIRepresentation]]) {
NSLog(@"Match");
}

即使我对 objectID 进行 NSLog 记录并发现它们实际上完全相同,以下代码也永远不会匹配。

if ([[obj1 objectID] isEqualTo: [_obj2 objectID]]) {
NSLog(@"Match");
}

最佳答案

评论者是正确的,isEqualTo: 在这种情况下不起作用,因为它们是 NSManagedObjectID 的不同实例。

您这样做实际上是最好的方法,objectID 是 CoreData 给定托管对象的唯一标识符,这是判断 NSManagedObject 的两个实例是否指向持久存储中的同一记录的唯一方法。

关于objective-c - 比较两个 NSManagedObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4732065/

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