0

我有一个应用程序,它有 UIScrollView 和 Paging .. 它有数组和图像.. 我想要做的是保存上次应用程序运行时查看的数组,当我再次打开应用程序时,它应该显示最后一个数组已查看。

提前致谢!

4

2 回答 2

3

将您的数组保存代码绑定到UIApplicationDidEnterBackgroundNotification通知,然后将您的加载代码绑定到UIApplicationDidBecomeActiveNotification通知。

您还可以在 UIApplicationDelegate 中使用适当的协议方法。

...重新阅读问题——您是否正在寻求有关如何保存某些内容或如何在正确的时间触发保存的帮助?

编辑

看起来你已经在学习 Ray Wenderlich 的教程了,但我只会为我刚开始时发现非常简单的一个插件做一个插件:http: //cocoadevcentral.com/

在将内容保存到磁盘方面,您有几个选项,其中最简单的可能是使用另一个用户指出的 NSUserDefaults。它是一个字典(键:值)系统,因此您可以通过您选择的名称存储您的数组/图像/pathToTheImage 等,即

"LastImageViewed" : UIImage <--(object) 然后以相同的名称加载它。

 // MyAppDelegate.m
 - (void)applicationDidEnterBackground:(UIApplication *)application {

      // Save
      [[NSUserDefaults standardUserDefaults] setObject:YOUR_ARRAY_GOES_HERE forKey:@"A_NAME_YOU_CHOOSE"];
      [[NSUserDefaults standardUserDefaults] synchronize];

 }

 ...

 - (void)applicationWillEnterForeground:(UIApplication *)application {

      // Load
      NSArray *firstArrayToOpen = [[NSUserDefaults standardUserDefaults] objectForKey:@"THE_NAME_YOU_CHOSE"];

      // Do your thing...
 }

这是 NSUserDefaults 类的参考:https ://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html

以及上述通知和方法参考:http: //developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UIApplicationDelegate

这有帮助吗?

于 2012-12-02T19:02:12.167 回答
2

您需要使用 保存此信息NSUserDefaults。这是一个关于如何使用它的教程: http: //epiicdream.wordpress.com/2012/02/27/ios-sdk-savingretrieving-data-using-nsuserdefaults/

于 2012-12-02T19:01:22.573 回答