-1

我有 3 个视图控制器,每个控制器都有一个名为 Count 的 int。计数是用户的高分,即使应用程序被杀死,这也是我想要保留的。

这是整数;

int Count = 100;

这是分数显示的地方(ViewDiDLoad 中的 UILabel);

scoreCounter.text = @"";

这就是我用(Inside IBAction)调用它的代码;

NSString *numValue = [[NSString alloc] initWithFormat:@"%d", Count--];
scoreCounter.text = numValue;
[numValue release];

基本上每次我按下按钮,分数都会下降。我在三个不同的视图控制器中都有上面的代码,它们是这样打开的;

if(Count == 90)
{
    SecondLevelViewController *screen = [[SecondLevelViewController alloc] initWithNibName:nil bundle:nil];
    screen.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:screen animated:YES];
    [screen release];

我需要一种方法来保存这个分数,并保存上次使用的视图控制器,这样如果分数为 90,应用程序将启动 SecondViewController。

4

1 回答 1

1

NSUserDefaults对此很有用。

保存:

[[NSUserDefaults standardUserDefaults] setInteger:Count forKey:@"Count"];

装载:

Count = [[NSUserDefaults standardUserDefaults] integerForKey:@"Count"];

由于最初没有值,因此您的第一次加载将为您提供 0 而不是 100。这可以通过设置默认值来处理。

NSDictionary *defaults = @{ @"Count" : @100 };
[[NSUserDefault standardUserDefaults] registerDefaults:defaults];

将此代码添加到您的应用程序启动中,例如在应用程序委托application:didFinishLaunchingWithOptions:方法中。

于 2013-02-27T22:47:58.220 回答