2

我有一个使用分层导航的简单“计时器”watchOS 应用程序。我可以按下数字表冠返回手表跳板,然后点击应用程序图标并返回到我正在使用的同一个界面控制器。

如果我返回表盘并点击我的应用程序的复杂功能,应用程序将启动,但似乎已重新启动:我失去了当前状态。有什么办法可以防止这种情况发生吗?

4

2 回答 2

0

听起来您在问如何阻止您的应用程序内存不足?

如果是这样,就像在 iOS 上一样,这是不可能的 - 显然手表的内存比手机少,因此更有可能被换掉。

您需要做的是将您的状态存储在一些持久层中 - 例如 NSUserDefaults - 所以当应用程序重新启动时,它可以重新加载其状态

于 2016-10-30T08:50:29.473 回答
0

如果您通过点击复杂功能打开手表应用程序,该应用程序将自动返回根界面控制器。这是系统强制行为。

如果要保留以前的状态,则需要将应用的层次结构更改为基于页面的界面。

基于页面的界面中的用户交互可以像基于导航的界面一样。您可以将pushController(withName:context:),pop()popToRootController()方法替换为becomeCurrentPage(). 我还发现从一个页面界面切换到另一个页面也比导航(推/弹出)到另一个更快。

于 2017-01-21T01:02:20.023 回答