每次显示Notification Center时都会重新创建TodayViewController

时间:2014-07-22 15:30:44

标签: ios iphone widget ios8 ios-app-extension

在尝试为iOS 8开发Today Extension时,我发现了一个奇怪的问题。每次用户打开通知中心时,我都会重新创建使用的视图控制器。这意味着没有数据保留,因此我无法知道扩展是否需要更新。

想要这样做的主要原因是我想保留小部件的高度(使用preferredContentSize)。问题是,当视图加载此值时,总是会重置,这会导致窗口小部件跳转。 Stocks小部件是它应该如何工作的一个例子,它们显然已经解决了它,因此必须有某种方式在不同的会话之间保留数据#34;。我还可以从调试器告诉该过程继续运行,因此它只是在Apple的代码中强制重新构建View Controller。

我的问题是,这是一个错误吗?或者它是基于某些设置还是我失踪的某些属性?或者它可能只是它的工作方式?如果是,那么解决方法是什么?

1 个答案:

答案 0 :(得分:2)

这就是他们的工作方式。将您的信息保存到设备,以便下次启动时可以重新加载它,以及更新时间,以便您知道它是否已过期。对于少量数据,只需使用NSUserDefaults。对于较大的数量保存到文件,CoreData,sqlite等