代码之家  ›  专栏  ›  技术社区  ›  chris

禁用给定nsmanagedObject的持久性,直到用户点击某个按钮?

  •  1
  • chris  · 技术社区  · 15 年前

    我有一个具有用户可以用视图编辑的属性的nsmanagedObject。视图中填充了来自对象的值,用户可以编辑这些值,并将这些值写回对象。我希望用户显式点击“保存”或“取消”按钮来提交或撤消更改。

    问题是视图在一个UITabbarController中,其他事情正在发生。用户可以在另一个选项卡中执行操作,该选项卡可以调用[nsManagedObjectContext save]或[nsManagedObjectContext undo]。这将影响NSManagedObject(从第一个提到的选项卡) 之前 用户决定是否要保存或取消它。

    有办法解决这个问题吗?我们可以暂时禁用nsmanagedObject上的持久性,直到用户点击按钮为止吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   gerry3    15 年前

    无法禁用托管对象的持久性。相反,我建议采用如下方法:

    通常,当显示编辑特定对象的视图时,使用中对象的数据更新该视图 viewWillAppear: 方法并使用相应的“保存”操作中更改的数据更新对象,或者 viewWillDisappear: .