我想确保我正在使用的NSManagedObject具有永久的NSManagedObjectID。我知道它只在[NSManagedObjectContext save:]或[NSManagedObjectContext obtainPermanentIDsForObjects:error:]上永久化。但是,在我保存上下文以获取永久ID之前,有没有办法确定对象是否具有永久ID?这样我就不会毫无疑问地保存商店。
答案 0 :(得分:6)
NSManagedObjectID
有isTemporaryID
方法,指示对象ID是否是临时的,因此您可以检查
BOOL isTemporary = [[myObject objectID] isTemporaryID];
但是,我只会为有问题的对象调用obtainPermanentIDsForObjects
因为我假设如果对象ID已经是永久性的,这不会导致额外的开销。