-1

我有一个简单的计数器应用程序,即用户按下一个按钮将其增加一个他们选择的值。我在单视图应用程序上开始了应用程序生产。我现在需要这样做,以便在关闭应用程序时保存计数器的最后一个值。然后,当应用重新打开时,它需要将计数器的值加载回原位。只需关闭和打开应用程序即可保存和重新加载该值,即无需按下任何按钮。

我的计数器变量是一个Int名为counter. 视图控制器被简单命名为viewController.h/m.

我不知道如何设置所有这些,我假设我需要 coreData 来执行此操作。如何设置 coreData?我是否在我的 viewController 代表中编码?如果这不是最好的方法,请提供一种更有效的方法!

非常感谢您的帮助,最重要的是简单的说明。我已经看过其他示例,但似乎没有一个提供我需要的东西或者足够简单易懂。请在此线程上提供答案!

4

2 回答 2

1

简单地使用NSUserDefaults而不是 Core Data 是最简单的。

保存:

[[NSUserDefaults standardUserDefaults] setInteger:counter forKey:@"counter"]

读书:

NSInteger counter = [[NSUserDefaults standardUserDefaults] integerForKey:@"counter"];

查看UIApplicationDelegate以找到您应该将代码放入的方法。它可能会在您的 AppDelegate 中的以下方法之一中:

在哪里加载值:

  • -application:didFinishLaunchingWithOptions:
  • –applicationWillEnterForeground:

保存值的位置:

  • -applicationDidEnterBackground:
  • –applicationWillTerminate:

确切的位置取决于您是否需要在用户切换到另一个应用程序时加载和保存该值,几乎可以肯定的是,当应用程序由于内存压力而处于冻结状态时可能会终止。在这种情况下,您需要确保在应用程序处于后台(用户切换到其他应用程序)时保存该值,并在应用程序成为前台应用程序(用户切换回您的应用程序)时恢复该值。

于 2013-02-04T18:59:35.383 回答
0

您可以使用 NSUserDefaults。您可以存储一个创建 NSUserDefaults 变量的变量

NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];

然后保存整数

[standardUserDefaults setInteger:1 forKey:@"integer"];

并同步所有[standardUserDefaults synchronize];

然后检索创建变量的整数:

NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];

然后用

NSInteger myInt = [standardUserDefaults integerForKey:@"integer"];
于 2013-02-04T19:05:34.823 回答