0

有人可以帮我理解为什么这个布尔值不保存吗?

这是我在视图中加载的代码:

[appDelegate.defaults setBool:YES forKey:@"testKey"];
[appDelegate.defaults synchronize];
NSLog (@"TEST BOOL VALUE = %@", [appDelegate.defaults boolForKey:@"testKey"] ? @"YES" : @"NO");

在应用程序委托 applicationDidFinishLaunching 中,我将 appdelegate.defaults 定义为:

    self.defaults = [NSUserDefaults standardUserDefaults];

为什么这不起作用我真的不知道。

谢谢!!

4

2 回答 2

3

appDelegatenil当您调用提到的代码时。

尝试添加一个NSSlog来检查:

NSLog(@"appDelegate: %@", appDelegate);
NSLog(@"appDelegate.defaults: %@", appDelegate.defaults);
[appDelegate.defaults setBool:YES forKey:@"testKey"];
// ...
于 2012-04-24T23:28:07.513 回答
2

你应该使用:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"testKey"];

或将defaults属性设置为[NSUserDefaults standardUserDefaults]

于 2012-04-24T23:39:55.403 回答