【发布时间】:2015-01-18 15:48:42
【问题描述】:
可以识别(在运行时)NSManagedObjects,这些NSManagedObjects 已插入到NSManagedObjectContext(即inserted == YES)中,但到目前为止从未将saved 插入到上下文的存储中。
我最初以为他们的objectID 可能仍然是nil,但事实并非如此。
更新我进行了一个快速实验,看看检查temporaryID(请参阅accepted answer)是否也适用于嵌套 MOC。这表明不可以:保存子 MOC 只会向上推一层(即到父 MOC,但不是到更上一层的持久存储),因此新插入的 MOC 的对象 ID 仍然是临时的。在这种情况下,确定 MO 在子 MOC 中是否是新的并且从未保存(甚至没有保存到父 MOC)的一种方法显然是检查[child objectRegisteredForID: object.objectID] && ![parent objectRegisteredForID: object.objectID]。
【问题讨论】:
标签: ios core-data ios8 nsmanagedobject nsmanagedobjectcontext