首页 > NSUserDefaults存取long变量时有问题

NSUserDefaults存取long变量时有问题

int userid = userId;
[userDefault setInteger:userid forKey:@"userId"];

long userId = [[NSUserDefaults standardUserDefaults] integerForKey:@"userId"];

存的时候userId是id类型。
这时候我取出的数是一个很大的数。请问这是怎么回事?


问题出在

int userid = userId;

应该改成

NSInteger userid = userId;
...

因为
NSInteger != int

见图


在存的时候用setObject存id变量,取的时候取integerForKey即可。

【热门文章】
【热门文章】