gpt4 book ai didi

ios - 区分从内存中的托管对象上下文和持久存储中获取的对象

转载 作者:行者123 更新时间:2023-11-29 00:08:30 32 4
gpt4 key购买 nike

在 iOS 应用程序中,我使用一个框架创建 NSManagedObject 子类对象,该框架解析 JSON 对象,然后将它们插入到 NSManagedObjectContext 中。但是,我想区分那些新创建的对象和已经保存到持久存储中的对象。那是因为我可能需要更新或覆盖商店中的某些对象。当我执行 NSFetchRequest 时,它只返回所有已注册的对象,包括从存储中获取的对象和我在内存中本地创建的对象。我如何能够区分这两种类型的对象?

最佳答案

您可以通过查看对象 ID 来判断托管对象是否已保存。检查 myObject.objectID.isTemporaryID,在您第一次保存对象之前它将是 true,从那时起将是 false

然而,正如@Paulw11 在评论中提到的那样,在这种情况下,通常最好在创建新对象之前先确定您是否已有本地对象。这避免了重复的问题。您可以更新现有对象的值或删除它并替换它。

关于ios - 区分从内存中的托管对象上下文和持久存储中获取的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47294373/

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