如何将整数保存到NSUserDefaults?

23

有人知道如何将我的高分数整数保存到NSUserDefaults中,以便以后加载它吗?

2个回答

59
[[NSUserDefaults standardUserDefaults] setInteger:HighScore forKey:@"HighScore"];

…将其取回:

NSInteger highScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScore"];

这在文档中很简单地解释了。


10
当然,你是正确的。但通过谷歌搜索(并找到像你提供的那样有用的两行解决方案)要比查阅苹果文档更快得多。你可以说,通过谷歌搜索,我既懒惰又高效! - Mike Gledhill

11

更一般地,您可以将Foundation类对象保存到用户默认值中,例如:

[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:highScore] forKey:@"kHighScore"];

NSInteger highScore = [[[NSUserDefaults standardUserDefaults] objectForKey:@"kHighScore"] intValue];

但是方便的方法是直接使用NSInteger

我更喜欢使用更为中立的-setObject:-objectForKey:,因为它更清晰地将对象类型与字典访问分离。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接