上下文保存失败后未保存的NSManagedObject生命周期

时间:2014-08-06 09:26:29

标签: objective-c core-data

假设我在保存NSManagedObjectContext时失败,原因是数据本身独立。一个典型的例子是设备上没有足够的空间。

据我了解,NSManagedObjects仍然驻留在内存中,处于未保存状态。

以下是问题:

  1. 对象发生了什么?他们是否有突然被记忆驱逐的风险,特别是当应用程序处于后台时?如果是,发生这种情况时会有通知吗?
  2. 您如何管理不属于该程序本身的此类或类似事件?
  3. 在XCode开发过程中是否有可能模仿这种特殊行为(空间不足)?

1 个答案:

答案 0 :(得分:0)

  

对象会发生什么?他们是否有突然被记忆驱逐的风险,特别是当应用程序处于后台时?如果是,发生这种情况时会有通知吗?

物品不会被记忆所驱逐。 应用可以从内存中逐出,如果它们在后台运行。当发生这种情况时,所有应用程序的对象也会消失。通知将遵循与普通应用生命周期通知相同的规则 - 由UIApplication发布并作为回调发送给应用代表的通知。

  

您如何管理此类或类似事件本身不属于该事件的事件?

你可以做的不是很多。如果设备上没有空间,则无法保存数据。唯一真正的选择是,如果你有一些你可以删除的其他保存数据,以留出一些空间。如果这不是一个选项,那么您运气不好,因为无法放置此未保存的数据。

  

在XCode开发过程中是否有可能模仿这种特殊行为(空间不足)?

拿一个测试设备填写数据,然后运行你的应用程序。