在我的viewWillLoad:方法中,我目前正在按照以下方式做一些事情:
- (void)viewWillAppear:(BOOL)animated {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ( [defaults boolForKey:@"enabled_preference"] ) {
...
} else {
...
}
[super viewWillAppear:animated];
}
如果我在打开首选项窗格(使用普通Settings.bundle构建)之前构建并运行应用程序,那么 bool 似乎是NO(或更可能是nil)而不是默认的YES。但是,如果我在打开应用程序之前打开设置应用程序并查看应用程序首选项窗格,一切都会按预期工作。
我假设应用程序首选项未初始化,我应该将它们初始化为应用程序委托中的默认值(如果尚未设置)。有人可以证实这一点吗?还是我在这里错过了其他明显的东西?