在NSUserDefaults中保存NSNumber

时间:2014-04-12 22:16:56

标签: ios nsuserdefaults nsnumber

使用currentIndex作为NSNumber并在NSUserDefaults中保存NSNumber。

使用currentIndex在NSUserDefaults中存储书签页面

这就是我在NSUserdefaults中保存currentIndex的方法:

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 [defaults setInteger:currentIndex forKey:@"currentIndex"];
 [defaults synchronize];

如果这是在NSUserdefaults中保存currentIndex的正确方法,那么如何在NSUserdefaults中检索已保存的currentIndex。

感谢您的帮助。

3 个答案:

答案 0 :(得分:4)

首先,setInteger: forKey:用于存储int,而不是NSNumber。如果您要存储NSNumber,用户setObject: forKey:

要检索您存储的数据,请使用objectForKey:(或integerForKey:代替,如果您更愿意使用int)。

答案 1 :(得分:4)

标题说你希望存储一个NSNumber,你应该这样做:

OBJ-C

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:nsnumberObject forKey:@"nsNumberStored"];

迅速

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(nsnumberObject, forKey:"nsNumberStored")

然后获取 NSNumber执行此操作:

OBJ-C

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSNumber *nsNumberFetched = [defaults objectForKey:@"nsNumberStored"];

迅速

let defaults = NSUserDefaults.standardUserDefaults()
defaults.objectForKey("nsNumberStored")

您可以在此处阅读官方文档Class reference

让我知道它是否对你有所帮助。

答案 2 :(得分:0)

你需要做对面的'把它拿回来

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 NSInteger currentIndex = [defaults integerForKey:@"currentIndex"];