Ola,我正在尝试找到一种方法来保存用户分数,因此当它从后台关闭时会保存他们的分数,再次打开时它会再次显示该分数。顺便说一句,我保存的东西是一个点击计数器,所以当他们点击它时必须添加到他们之前的分数。
有什么建议吗?
答案 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。一旦您需要更高级的东西,请查看核心数据。