保存用户分数

时间:2014-03-09 22:14:37

标签: ios iphone save

Ola,我正在尝试找到一种方法来保存用户分数,因此当它从后台关闭时会保存他们的分数,再次打开时它会再次显示该分数。顺便说一句,我保存的东西是一个点击计数器,所以当他们点击它时必须添加到他们之前的分数。

有什么建议吗?

enter image description here

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

保存:

int numberOfTaps = 42; // some number of taps
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
[standardUserDefaults setValue:[NSNumber numberWithInt:numberOfTaps] forKey:@"numberOfTaps"];

提取:

NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
int savedTaps = [[standardUserDefaults objectForKey:@"numberOfTaps"] intValue];

更新更多信息

只是为了让它变得非常简单:

将这些方法复制到.m

中的某个位置
- (void) saveNumberOfTaps:(int)numberOfTaps {
    [[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithInt:numberOfTaps] forKey:@"numberOfTaps"];
    NSLog(@"Saved numberOfTaps: %i", numberOfTaps);
}

- (int) getNumberOfTaps {
    if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"numberOfTaps"] intValue]) {
        int numberOfTaps = [[[NSUserDefaults standardUserDefaults] objectForKey:@"numberOfTaps"] intValue];
        NSLog(@"Getting numberOfTaps: %i", numberOfTaps);
        return numberOfTaps;
    }
    else {
        NSLog(@"No taps saved yet");
        return 0;
    }
}

然后,只要您想使用这些值,就可以使用以下内容:

// Save Taps
[self saveNumberOfTaps:14];

// Get Taps
int taps = [self getNumberOfTaps];
NSLog(@"taps retrieved: %i", taps);

答案 1 :(得分:0)

听起来你刚刚开始,所以尝试使用NSUserDefaults。一旦您需要更高级的东西,请查看核心数据。