Как восстановить сохраненные данные до значений по умолчанию?

Я реализую сохраненные данные в своем приложении с помощью NSUserDefaults, например:

[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:0],@"mySetting",nil]]; // check int firstLaunch = [[NSUserDefaults standardUserDefaults] integerForKey:@"mySetting"]; // set [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"mySetting"]; 

Теперь для целей разработки я хотел бы удалить сохраненные данные и вернуться к значениям по умолчанию, без необходимости удалять приложение и переустанавливать его каждый раз. Есть ли быстрый способ сделать это? Я думал, что resetStandardUserDefaults выполнит эту работу, но это не так.

Для ключа, который вы хотите вернуть к умолчанию, -removeObjectForKey: удалит его определение из настроек приложения. При прочих равных условиях это означает, что последующие вызовы -<type>ForKey: возвращают зарегистрированный по умолчанию.

Следующий фрагмент работал для меня.

 NSDictionary *defaultsDict = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]; for (NSString *key in [defaultsDict allKeys]) [[NSUserDefaults standardUserDefaults] removeObjectForKey:key]; [[NSUserDefaults standardUserDefaults] synchronize]; 

Вы пытались перезагрузить значения по умолчанию после вызова сброса? как говорит PEZ:

например

 [NSUserDefaults resetStandardUserDefaults]; [NSUserDefaults standardUserDefaults]; 

Это очищает все значения по умолчанию и нагрузки в стандартном наборе.

Если вы хотите только добавить одно значение, как кажется из вашего фрагмента, то предложение Грэма о -removeObjectForKey проще.

EDIT: исправлено мое злоупотребление методами класса.

Документы должны сказать об resetStandardUserDefaults:

Последующий вызов standardUserDefaults создает новый объект по умолчанию для общих пользователей по умолчанию со стандартным списком поиска.

С некоторым положительным (желаемым?) Мышлением, похоже, что это будет то, что вам нужно. знак равно

Interesting Posts
Давайте будем гением компьютера.