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

有什么建议么?

最佳答案

保存:

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);

关于ios - 保存用户分数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22288910/

10-13 22:54