0

我对 ipad 和拆分视图相当陌生,但对 iphone 和核心数据非常熟悉。而且我现在想知道何时实际保存任何更改,以免更改丢失,并且不会经常调用保存上下文。

用户从主视图中选择一个项目,然后将其显示在详细视图控制器中。与 iPhone 非常相似。但是在拆分视图中,详细视图控制器只是保持可见,并且每次在主视图中选择一个新的详细项目时,都会为其分配一个新的详细项目。

问题:在此期间,用户可能对详细信息项进行了更改。什么时候保存这些?我可以对哪个事件做出反应?setDetailItem 是在显示新的 detailItem 之前保存对旧 detailItem 所做更改的好地方。美好的。但是在用户退出应用程序之前对最后一项的更改是什么?

为了增加一些复杂性:我在 TabBar 中运行了几个拆分视图控制器。所以用户可以从一个标签栏切换到下一个。我想这viewWillDisappear可能适合控制这些事件?我也应该在那里保存最后的更改吗?离开应用程序时也会调用它吗?

4

1 回答 1

2

setDetailItem对我来说viewWillDisappear保存用户数据听起来不错。

viewWillDisappear当应用程序进入后台时不调用,而是applicationDidEnterBackground在应用程序中调用委托。根据文件,

...您应该使用此方法来释放共享资源,保存用户数据,使计时器无效,并存储足够的应用程序状态信息以将您的应用程序恢复到其当前状态,以防以后终止。...

或者,您可以注册UIApplicationDidEnterBackgroundNotification.

于 2013-03-02T16:44:27.450 回答