应用程序退出时加载上次查看的UIViewController

时间:2010-02-15 11:43:34

标签: iphone uinavigationcontroller

是否有任何内置技术可以在退出应用程序之前直接移动到最后显示的UIViewController?

我正在试图弄清楚是否有任何内置方法可以使用UIKit框架/ Cocoa Touch。如果不是,我意识到实现它将是相当微不足道的,但如果已存在某些事情,我不想这样做。

例如:

  1. 启动应用
  2. 您将浏览3个UIViewControllers(在UINavigationController内)
  3. 您可以浏览每个项目列表全屏显示到第5项
  4. 你退出
  5. 然后,您重新启动应用程序并想要回到第3步的最后一个视图 - 查看您的第五个项目。

2 个答案:

答案 0 :(得分:3)

NSUserDefaults将成为这项工作的工具。您只需保存一个键即可在应用中指明您的位置,然后在应用启动时再次阅读此键以决定去哪里:

// whenever you move to a new screen or item:
[[NSUserDefaults standardUserDefaults] setObject:viewIdentifierString
                                          forKey:@"last_view"];


// when your application opens:
NSString * viewIdentifierString = [[NSUserDefaults standardUserDefaults]
                                     stringForKey:@"last_view"];

if (viewIdentifierString == nil)
{
    // show default view
}
else
{
   // use viewIdentifierString to determine which view to load
}

答案 1 :(得分:1)

您可以将上次查看过的viewcontroller存储到NSUserDefaults。 然后在你的app委托中读出这个值并加载指定的视图控制器。

在您的viewcontrollers的每个初始化或您的应用终止时覆盖您的NSUserDefaults值。