我有一个简单的计数器应用程序,即用户按下按钮以将其增加一个他们选择的值。我在单个视图应用程序上启动了应用程序生成。我现在需要这样做,以便当应用程序关闭时,它会保存计数器的最后一个值。然后,当应用程序重新打开时,需要将计数器的值重新加载到位。只需关闭并打开应用程序即可保存和重新加载该值,即无需按下任何按钮。
我的计数器变量是名为Int
的{{1}}值。视图控制器只是名为counter
。
我不知道如何设置所有这些,我假设我需要coreData来做到这一点。如何设置coreData?我在viewController的委托中编码吗?如果这不是最好的方法,请提供一种更有效的方式!
非常感谢您的帮助,简单的指示最重要。 我已经看过其他的例子,但似乎没有提供我需要的东西或者很容易理解。请在这个主题上提供答案!
休
答案 0 :(得分:1)
最简单地使用NSUserDefaults代替核心数据。
保存:
[[NSUserDefaults standardUserDefaults] setInteger:counter forKey:@"counter"]
阅读:
NSInteger counter = [[NSUserDefaults standardUserDefaults] integerForKey:@"counter"];
查看UIApplicationDelegate以查找应该放置代码的方法。它可能会在您的AppDelegate中使用以下方法之一:
加载值的位置:
-application:didFinishLaunchingWithOptions:
–applicationWillEnterForeground:
保存值的位置:
-applicationDidEnterBackground:
–applicationWillTerminate:
究竟在哪里取决于您是否需要在用户切换到另一个应用程序时加载并保存该值,这几乎可以肯定是因为应用程序可能因内存压力而处于冻结状态时终止。在这种情况下,您需要确保在应用程序背景化(用户切换到其他应用程序)时保存了值,并且当应用程序成为前台应用程序(用户切换回您的应用程序)时值已恢复。 / p>
答案 1 :(得分:0)
您可以使用NSUserDefaults。 您可以使用“NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];”存储创建NSUserDefaults变量的变量; 然后用“[standardUserDefaults setInteger:1 forKey:@”integer“]保存整数;” 并使用“[standardUserDefaults synchronize];”
同步所有内容然后检索创建变量的整数:“NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];” 然后使用“NSInteger myInt = [standardUserDefaults integerForKey:@”integer“]恢复它;”