Cocoa touch Xcode:保存一个Int值

Cocoa touch Xcode:保存一个Int值,cocoa-touch,core-data,xcode4,int,Cocoa Touch,Core Data,Xcode4,Int,我有一个简单的计数器应用程序,即用户按下一个按钮以增加他们选择的值。我在单视图应用程序上开始了应用程序生产。我现在需要这样做,当应用程序关闭时,它会保存计数器的最后一个值。然后,当应用程序重新打开时,需要将计数器的值加载回原位。只需关闭和打开应用程序即可保存和重新加载值,即无需按下任何按钮 我的计数器变量是一个名为counter的Int值。视图控制器简称为viewController.h/m 我不知道如何设置所有这些,我想我需要coreData来完成。如何设置coreData?我是否在viewC

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

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

我不知道如何设置所有这些,我想我需要coreData来完成。如何设置coreData?我是否在viewController的委托中编码?如果这不是最好的方法,请提供一种更有效的方法

非常感谢您的帮助,最感谢的是简单的说明。 我看了其他的例子,但似乎没有一个能提供我所需要的或者足够简单易懂的东西。请提供此线程的答案


它最容易简单地使用,而不是核心数据

要保存:

[[NSUserDefaults standardUserDefaults] setInteger:counter forKey:@"counter"]
全文如下:

NSInteger counter = [[NSUserDefaults standardUserDefaults] integerForKey:@"counter"];
看一看,找出应该将代码放在哪些方法中。它可能会通过以下方法之一出现在AppDelegate中:

在何处加载值:

  • -应用程序:使用选项完成启动:
  • –应用程序将进入前台:
保存值的位置:

  • -应用程序标识符背景:
  • –应用程序将终止:

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

您可以使用NSUserDefaults。 您可以使用创建NSUserDefaults变量来存储变量

NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];
然后将整数保存为

[standardUserDefaults setInteger:1 forKey:@"integer"];
并与
[standardUserDefaults synchronize]同步所有文件

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

NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
然后用你的手把它复原

NSInteger myInt = [standardUserDefaults integerForKey:@"integer"];

这些数据位应该在哪里实现?我已经更新了我的答案,描述了在哪里添加代码。感谢额外的信息,我有一个警告未使用的变量“counter”,因此我假设这是由于在viewController中实现的变量,而不是委托。如何让appDelegate查看变量的viewController?该警告仅表示您创建了变量计数器,但在代码中没有再次使用它。要将数据从应用程序委托传递到视图控制器,最好使用依赖项注入,也就是说,您将在.h头文件
@property(assign)NSInteger计数器中的视图控制器上创建一个属性
然后在AppDelegate中,将计数器分配给该属性
viewController.counter=counterviewController.counter=counter;'这个可以吗?