Domanda

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.

È stato utile?

Soluzione

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.

Altri suggerimenti

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top