是否可以防止 Core Data 持久化一个对象?
假设我有一个NSManagedObject
带有BOOL
property的子类isTemporary
。
因此,当在上下文中调用保存时,我将对对象进行检查:
if (self.isTemporary) {
// Do not save
} else {
// Save this object
}
编辑:有关该问题的更多背景信息
嗯,为了澄清我的问题,我创建了一个对象,如果它已经存在,我就是我获取它的数据库,如果它不存在,我插入它并将对象的临时标志设置为 YES。我设置了这个标志,因为在这个阶段还不清楚用户是否会执行保存或取消操作。如果他保存,我将标志临时设置为 NO。如果他取消,那么如果临时标志为“是”,我将删除该对象。
到目前为止一切都很好,但与此同时,在后台可能会在后台发生核心数据保存操作,即使我不希望它们被持久化(因为它们应该是临时的),它们也会持久化这些对象。因此,如果我不走运并且应用程序被杀死,我可能会有临时标志设置为 YES 的不需要的对象。一种选择是在应用程序启动时执行清理操作以删除带有临时标志 YES 的对象。但是,如果它不保留这些对象,一切都会容易得多。