我有一堆NSUserDefault设置,在设置页面上我有一个"重置设置"调用此方法的按钮:
@IBAction func resetData(sender: AnyObject) {
let appDomain : NSString = NSBundle.mainBundle().bundleIdentifier!
NSUserDefaults.standardUserDefaults().removePersistentDomainForName(appDomain)
println("Settings reset")
}
如何将应用程序重置为" erase"所有保存的数据并显示一个新的应用程序?
先谢谢你
答案 0 :(得分:1)
请注意,用户默认值具有名为dictionaryRepresentation的e方法,该方法返回表示为字典的所有用户默认值。擦除该字典中的所有数据循环并删除每个键的对象
var userDefaults = NSUserDefaults.standardUserDefaults().dictionaryRepresentation()
for (key,value) in userDefaults{
NSUserDefaults.standardUserDefaults().removeObjectForKey(key as String)
}
如果您需要在删除数据后刷新UI,请考虑创建一种方法,即使任何键值为nil,也可以根据用户默认值设置视图状态,然后在加载视图或按下重置按钮时调用此方法