如何将整数保存到NSUserDefaults?

23 iphone ios

有谁知道如何将我的高分整数保存到NSUserDefaults所以我可以在以后加载它?

iKe*_*dac 58

[[NSUserDefaults standardUserDefaults] setInteger:HighScore forKey:@"HighScore"];
Run Code Online (Sandbox Code Playgroud)

......把它拿回来:

NSInteger highScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScore"];
Run Code Online (Sandbox Code Playgroud)

这在文档中非常简单地解释.

  • 当然,你是对的.但谷歌搜索(并找到像您这样的有用的双线解决方案)比通过Apple的文档挖掘要快得多.你可以说,通过谷歌搜索,我要么懒惰,要么高效......! (10认同)

Ale*_*lds 10

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

[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:highScore] forKey:@"kHighScore"];
Run Code Online (Sandbox Code Playgroud)

NSInteger highScore = [[[NSUserDefaults standardUserDefaults] objectForKey:@"kHighScore"] intValue];
Run Code Online (Sandbox Code Playgroud)

但方便的方法是NSInteger直接接受.

我更喜欢使用更不可知的因素-setObject:,-objectForKey:因为它更清晰地将对象类型与对字典的访问分开.