这是我尝试过的
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:HighScore forKey:@"integerkey"];
[prefs synchronize];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
HighScore = [prefs integerForKey:@"integerKey"];隐式转换失去整数精度:NSInteger (又名long)到int。
发布于 2013-12-28 09:59:08
在64位平台上,NSInteger是64位的数量,但int只有32位.
我想你已经宣布
int HighScore;所以你可以把它改成
NSInteger HighScore;或添加显式强制转换。
HighScore = (int)[prefs integerForKey:@"integerKey"];来解决这个问题。
发布于 2013-12-28 09:57:24
将其转换为NSNumber,因为NSInteger不是一个对象。并将该对象保存在默认值中。
https://stackoverflow.com/questions/20813195
复制相似问题