Question

Heres what I've tried

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

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

Implicit conversion loses integer precision: NSInteger (aka long) to int.

Était-ce utile?

La solution

On 64-bit platforms, NSInteger is a 64-bit quantity, but int is only 32-bit.

I assume that you have declared

int HighScore;

so you can change that to

NSInteger HighScore;

or add an explicit cast

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

to solve the problem.

Autres conseils

Convert it to NSNumber because NSInteger isn't an object. And save that object in defaults.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top