У меня есть класс AppDelegate с методом +(void)initialize
, который я использую для регистрации некоторых значений по умолчанию. Вот код, который я использую:
+ (void)initialize {
NSDictionary *defaults = [NSDictionary dictionaryWithObjectsAndKeys:@"NO", @"fooKey", @"YES", @"barKey", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaults];
}
Я также создал Preferences.xib, который содержит пару флажков (NSButton
), которые отображают статус предпочтений. Они связаны с NSUserDefaultsController
одинаковыми ключами (в данном случае fooKey и barKey). Каждый раз, когда я запускаю приложение и изменяю «настройки по умолчанию», они восстанавливаются при следующем запуске приложения.
Есть ли способ зарегистрировать «значения по умолчанию», не перезаписывая уже существующие значения? Может быть, каждый раз, когда я создаю и запускаю приложение, его файл настроек создается заново? Может быть, мне следует снять флажки с NSUserDefaultsController
и самостоятельно сохранить значения ключей с помощью некоторого пользовательского кода в окне настроек контроллера?
Я бы хотел услышать вашу реализацию выбора для сохранения пользовательских настроек по умолчанию.
Я использую Mac OS X 10.6.2 и XCode 3.2.1