В моем viewWillLoad: методе я в настоящее время делаю что-то вроде этого:
- (void)viewWillAppear:(BOOL)animated {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ( [defaults boolForKey:@"enabled_preference"] ) {
...
} else {
...
}
[super viewWillAppear:animated];
}
Если я создаю и запускаю приложение перед открытием панели настроек (созданной с использованием обычного Settings.bundle ), тогда значение bool будет NO (или, скорее, ноль ), а не по умолчанию ДА . Однако, если я открою приложение «Настройки» и посмотрю на панель настроек приложения, прежде чем открыть приложение, все будет работать, как и ожидалось.
Я предполагаю, что настройки приложения не инициализированы, и я должен инициализировать их значением по умолчанию (если оно еще не установлено) в делегате приложения. Кто-нибудь может это подтвердить? Или я здесь упускаю что-то ослепительно очевидное?