我有3个视图控制器,每个都有一个名为Count的int。 Count是用户的高分,即使应用程序被杀,我也想要保留。
这是整数;
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。
答案 0 :(得分:1)
NSUserDefaults
对此非常有用。
保存:
[[NSUserDefaults standardUserDefaults] setInteger:Count forKey:@"Count"];
加载:
Count = [[NSUserDefaults standardUserDefaults] integerForKey:@"Count"];
由于最初没有值,你的第一次加载会给你0而不是100.这可以通过设置默认值来处理。
NSDictionary *defaults = @{ @"Count" : @100 };
[[NSUserDefault standardUserDefaults] registerDefaults:defaults];
将此代码添加到您的应用启动中,例如在app delegate application:didFinishLaunchingWithOptions:
方法中。