如何确定 NSManagedObject 是不是是永久的?
Posted
技术标签:
【中文标题】如何确定 NSManagedObject 是不是是永久的?【英文标题】:How to determine if NSManagedObjectID is permament?如何确定 NSManagedObject 是否是永久的? 【发布时间】:2013-02-01 15:16:11 【问题描述】:我想确保我正在使用的 NSManagedObject 具有永久的 NSManagedObjectID。我知道它只在 [NSManagedObjectContext save:] 或 [NSManagedObjectContext gainPermanentIDsForObjects:error:] 上永久保存。但是,在我保存上下文以获取永久 ID 之前,有没有办法确定对象是否具有永久 ID?这样我就不会不必要地保存商店。
【问题讨论】:
【参考方案1】:NSManagedObjectID
有一个isTemporaryID
方法表示对象ID是否是临时的,可以查看
BOOL isTemporary = [[myObject objectID] isTemporaryID];
但是,我只会为有问题的对象调用 obtainPermanentIDsForObjects
,因为我假设如果对象 ID 已经是永久的,这不会导致额外的开销。
【讨论】:
以上是关于如何确定 NSManagedObject 是不是是永久的?的主要内容,如果未能解决你的问题,请参考以下文章
isEqual of NSManagedObject - 它如何确定相等性?
如何观察 NSManagedObject 是不是从 managedObjectContext 中移除
如何判断我的 NSManagedObject 是不是驻留在只读 NSPersistentStore 中?