gpt4 book ai didi

ios - 已插入但尚未保存的 NSManagedObjects?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:01:59 25 4
gpt4 key购买 nike

是否可以识别(在运行时)NSManagedObjects 已插入到 NSManagedObjectContext 中(即 inserted == YES)但从来没有saved到目前为止上下文的存储。

我一开始以为他们的 objectID 可能仍然是 nil 但事实并非如此。

更新 我进行了一项快速实验,看看检查 temporaryID(请参阅 accepted answer)是否也适用于嵌套的 MOC。这表明不是:保存子 MOC 只会向上推一个级别(即到父 MOC 但不是持久存储,后者更上一层),因此新插入的 MO 的对象 ID 仍然是临时的。在这种情况下,确定 MO 是否在子 MOC 中是新的并且从未保存过(甚至没有保存到父 MOC)的一种方法显然是检查 [child objectRegisteredForID: object.objectID] && ![parent objectRegisteredForID: object.objectID] 代替。

最佳答案

您可以使用temporaryID property NSManagedObjectID:

YES if the receiver is temporary, otherwise NO. Most object IDs return NO. New objects inserted into a managed object context are assigned a temporary ID which is replaced with a permanent one once the object gets saved to a persistent store.

示例用法:

if(object.objectID.isTemporaryID) {
//the object has not been saved yet
}

关于ios - 已插入但尚未保存的 NSManagedObjects?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28011604/

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