【发布时间】:2017-06-16 05:27:24
【问题描述】:
以下代码的行为与我预期的不同。我认为这可能与未正确处理 BOOL 和 NSNumber 有关,或者我可能没有正确地将数字存储为用户默认值。无论如何,在从 UISwitch 获取值并尝试将其保存为用户默认值后,我没有得到我认为我正在保存的值。
NSNumber * on = [NSNumber numberWithBool:self.onSwitch.on];
BOOL onBool = [on boolValue];
NSLog(@"onBool before save%d",onBool);//Logs as 0
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setBool:onBool forKey:@"on"];//
[prefs synchronize];
BOOL onDefault = [[NSUserDefaults standardUserDefaults] objectForKey:@"on"];
NSLog(@"value of on after save%d",onDefault);//logs as 1
谁能看到我哪里出错了?
【问题讨论】:
标签: objective-c boolean nsuserdefaults uiswitch