如何保存NSInteger?

时间:2013-12-28 09:55:39

标签: objective-c ios7 nsinteger

继承人我尝试过的事情

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
        [prefs setInteger:HighScore forKey:@"integerkey"];
        [prefs synchronize];

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
HighScore = [prefs integerForKey:@"integerKey"];

隐式转换失去整数精度:NSInteger(又名long)到int

2 个答案:

答案 0 :(得分:1)

在64位平台上,NSInteger是64位数量,但int只是32位。

假设你宣布了

int HighScore;

因此您可以将其更改为

NSInteger HighScore;

或添加显式广播

HighScore = (int)[prefs integerForKey:@"integerKey"];

解决问题。

答案 1 :(得分:0)

将其转换为NSNumber,因为NSInteger不是对象。并将该对象保存为默认值。