Cocoa:重置NSUserDefaults

Fat*_*tso 1 cocoa objective-c reset nsuserdefaults

我尝试使用-resetStandardUserDefaults,我尝试删除plist文件,没有一个真正做我需要的.我想完全重置我的首选项,就好像重新安装了应用程序一样.有一个很好的解决方案吗?

我试过了 :

NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
Run Code Online (Sandbox Code Playgroud)

但Xcode抱怨道.显然,它不喜欢plist文件已经消失.这是Xcode的错误: 警告

Mac*_*ade 6

您可以询问NSUserDefaults所有可用的键,并循环以删除它们:

NSDictionary * allObjects;
NSString     * key;

allObjects = [ [ NSUserDefaults standardUserDefaults ] dictionaryRepresentation ];

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

[ [ NSUserDefaults standardUserDefaults ] synchronize ];
Run Code Online (Sandbox Code Playgroud)