【发布时间】:2011-05-30 15:33:57
【问题描述】:
我有一个 NSManagedObject 子类,它存储子对象的 URI。它最初在第一次创建子对象时存储临时 URI,并在保存之前实现 -willSave 以在其 NSManagedObjectContext 上调用 -obtainPermanentIDsForObjects,以便只保留永久 ID。
不过,我遇到的问题是其他实例也存储临时 URI。当一个对象在另一个具有相同子对象的对象之后不久收到-willSave 消息时,它也会调用-obtainPermanentIDsForObjects 并获得一个不同的错误永久URI,从而导致后续Core数据错误错误如:
CoreData could not fulfill a fault for '0x102e4c110 <x-coredata://E17EE19B-E7F3-4102-ACFF-3E6F8BE8B104/MyEntityName/p2>'
我想要一种方法从 NSManagedObject 的旧的、临时的 URIRepresentation 到它已经生成的新的、永久的 URIRepresentation。
我最初的想法是存储我自己的 <temporary URI,permanent URI> 字典并在使用 -obtainPermanentIDsForObjects 之前进行查找 - 有没有更简单(更简单或内置)的方法我错过了?我在文档中没有找到任何建议。
【问题讨论】:
标签: cocoa core-data uri nsmanagedobject nsmanagedobjectcontext