【发布时间】:2015-03-24 17:25:41
【问题描述】:
在使用 RestKit 的应用程序中,我有时会创建“相同”对象的两个实例:该应用程序可能会同时执行多个映射操作,并在其中创建一个完整对象和一个占位符,其中只有服务器分配的唯一 ID其他。这些对象是独立的 Core Data 对象,具有不同的objectIDs,尽管具有相同的serverIDs。
因为我不想显示同一个对象两次,所以我想合并这些“重复”的对象。目前我正在检查validateForInsert: 对象是否是现有对象的“重复”,如果是,则返回错误。
然后我处理所有错误,合并冲突的对象(保留最旧的),并删除重复的对象。
这是出现问题的地方,我崩溃了:我的应用程序的某些部分 - UI 或其他 - 引用了“已删除”“重复”NSObject,现在这是一个错误。由于NSManagedObject 不再存在,它被引用并且无法解决故障。
如何避免这种情况?
我真的很想避免审核对托管对象上下文的每个引用,并且必须始终检查它是否已成为错误并且应该替换为另一个我必须查找的正确NSManagedObject。
【问题讨论】: