如何判断NSManagedObject是否已保存?

时间:2014-09-26 04:14:21

标签: ios core-data

如何判断NSManagedObject是否持久存在?

(与尚未保存或已被删除的新对象相反。)

2 个答案:

答案 0 :(得分:26)

检查其对象ID是否持久

BOOL isSaved = !object.objectID.isTemporaryID;

有关isTemporaryID的文档:

"如果接收者是临时的,则为是,否则为否。大多数对象ID返回NO。插入到托管对象上下文中的新对象将被分配一个临时ID,一旦将对象保存到持久性存储中,该ID将替换为永久ID。"

答案 1 :(得分:4)

Daij-Djan的回答仅适用于iOS 8.0+。对于旧版本,请使用:

BOOL isSaved = nil != object.objectID.persistentStore;