代码之家  ›  专栏  ›  技术社区  ›  Chris S

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

  •  1
  • Chris S  · 技术社区  · 16 年前

    我试图找出是否有任何内置的方法可以通过UIKit框架/Cocoa Touch实现这一点。如果不是的话,我意识到这将是相当琐碎的实现,但如果已经存在一些东西,我不想这样做。

    例如:

    1. 你启动你的应用程序
    2. 通过项目列表移动到项目5,每个项目都会全屏显示

    然后重新启动应用程序,希望回到第3步的最后一个视图-查看第五个项目。

    2 回复  |  直到 16 年前
        1
  •  3
  •   James Eichele Bernard Igiri    16 年前

    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
    }
    
        2
  •  1
  •   choise    16 年前

    您可以将上次查看的viewcontroller存储到 NSUserDefaults 然后在应用程序中,委托读取该值并加载指定的视图控制器。

    在ViewController的每个初始化或应用程序终止时覆盖NSUserDefaults值。