退出前保存最后一个数组

时间:2012-12-02 18:56:41

标签: ios xcode arrays image uiscrollview

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

提前致谢!

2 个答案:

答案 0 :(得分:3)

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

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

...重读这个问题 - 您是否正在寻找有关如何保存某些内容或如何在合适的时间触发保存的帮助?

修改

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

在将内容保存到磁盘方面,您有多种选择,其中最简单的选择可能是使用NSUserDefaults作为另一位用户注意到的。它是一个字典(键:值)系统,因此您可以通过您选择的名称存储您的数组/图像/路径ToImage等,即

“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

这有帮助吗?

答案 1 :(得分:2)

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