Как проверить, существуют ли NSUserDefaults - PullRequest
6 голосов
/ 23 января 2011

Я искал ответ, но не нашел то, что искал.

У меня есть приложение, и я использую NSUserDefaults для хранения 'currentGameStatus' и хотел бы задать следующие вопросы:

  1. Как мне проверить, существует ли NSUserDefaults .plist? Это нужно, чтобы определить, нужно ли мне создать его в первый раз, и если это так, заполните его значениями по умолчанию

  2. Где я могу найти его на моем Mac (работающий симулятор)? Нужно ли удалить его, чтобы проверить, работает ли первый запуск?

Ответы [ 3 ]

22 голосов
/ 23 января 2011

вы не проверяете.

Вы регистрируете свои значения по умолчанию. и если вы не сохранили значение, будет использовано значение по умолчанию.

NSDictionary *defaultUserDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
                                     [NSNumber numberWithBool:NO], @"Foo",
                                     @"Bar", @"Baz",
                                     [NSNumber numberWithInteger:12], @"FooBar",
                                     nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultUserDefaults];

и вы делаете это каждый раз, когда ваше приложение запускается.

11 голосов
/ 23 января 2011

Как я это делаю, я устанавливаю флаг BOOL в NSUserDefaults, если он еще не существует:

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstRun"]) {
   //do initialization stuff here...

   [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstRun"];
}
1 голос
/ 23 января 2011
  1. NSUserDefaults уже существует по умолчанию.Вы можете добавить к нему: [[NSUserDefaults standardUserDefaults] setObject:@"object" forKey:@"key"];

  2. Вы можете найти NSUserDefaults .plist здесь alt text

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...