Какао: Сброс NSUserDefaults - PullRequest
       2

Какао: Сброс NSUserDefaults

1 голос
/ 24 ноября 2011

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

Я пытался:

NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];

Но Xcode жалуется. Видимо, не нравится, что файл plist исчез. Это ошибка XCode: Warning

1 Ответ

6 голосов
/ 24 ноября 2011

Вы можете запросить у NSUserDefaults все доступные ключи и выполнить цикл для их удаления:

NSDictionary * allObjects;
NSString     * key;

allObjects = [ [ NSUserDefaults standardUserDefaults ] dictionaryRepresentation ];

for( key in allObjects )
{
    [ [ NSUserDefaults standardUserDefaults ] removeObjectForKey: key ];
}

[ [ NSUserDefaults standardUserDefaults ] synchronize ];
...