objective-c - cocoa : Resetting NSUserDefaults

标签 objective-c cocoa nsuserdefaults reset

我尝试使用 -resetStandardUserDefaults,我尝试删除 plist 文件,但这些文件都没有真正满足我的需要。我想完全重置我的偏好设置,就像重新安装应用程序一样。有什么好的解决办法吗?

我尝试过:

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

但是 Xcode 提示了。显然,它不喜欢 plist 文件消失。 这是 Xcode 的错误: Warning

最佳答案

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

NSDictionary * allObjects;
NSString     * key;

allObjects = [ [ NSUserDefaults standardUserDefaults ] dictionaryRepresentation ];

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

[ [ NSUserDefaults standardUserDefaults ] synchronize ];

关于objective-c - cocoa : Resetting NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8259786/

相关文章:

ios - 将 View Controller 添加到 UICollectionViewCell

ios - 如何将 iPhone OSStatus 代码转换为有用的代码?

cocoa - 如何从 Mac 上的 cocoa 应用程序内部启动和终止应用程序

iphone - 在 NSUserDefaults 中存储填充有自定义对象的 NSMutableArray - 崩溃

ios - Swift - 如何为 NSUserDefaults 设置初始值

ios - 使用 NSThread 时未调用 NSURLConnectionDelegate 方法

ios - ScrollView 无法以编程方式工作

ios - 录音获取文件大小

ios - 观察 currentPlaybackTime 并每隔一段时间显示一个叠加层

objective-c - 从沙箱中的帮助程序读取 NSUserDefaults