gpt4 book ai didi

cocoa - CoreData 按属性划分的唯一对象

转载 作者:行者123 更新时间:2023-12-03 16:19:08 24 4
gpt4 key购买 nike

我有一个图表,其中包含一种名为“消息”的对象。一条消息可以有子项,因此该图是一棵树。图上的每个对象都包含一个属性值;这是一种 UUID(全局唯一),因此存储不能包含具有相同 UUID 的多条消息(此 uuid 是从消息数据中获取的字符串,因此我无法使用 nsmanagementobject 的 objectID 替换它)。当我需要验证对象插入到商店中时,问题发生了。如何检查商店中是否已存在具有相同 UUID 的消息?我正在考虑 validateForInsert: 事件上的获取请求,但当有很多对象要插入时(在我的例子中大约为 30k),它似乎太慢/太复杂。有人有最好的解决方案吗?

最佳答案

这是 CoreData 的一个已知限制(我自己已就此提出了功能请求)。您还应该访问http://bugreport.apple.com并让他们知道您想要此功能。 (原始bug ID为rdar://3711805)

我过去解决这个问题的方法是使用一种便捷的方法来访问和创建我的 NSManagedObjects。然后,此便捷方法在静态 NSMutableDictionary 中查找,以查看是否已创建具有相同唯一属性的另一个对象(唯一属性是键,managementObjectID 是值)。如果找到一个,它只会返回该对象。如果没有,则会创建一个对象并将该对象的 ID 缓存到静态字典中以供将来使用。当应用程序首次启动时,我必须使用预先存在的对象的属性/标识符预先填充此字典。

我知道这很痛苦。 :( 提出增强请求。

关于cocoa - CoreData 按属性划分的唯一对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253378/

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