在NSUserDeafults中删除持久数据后,如何重置我的应用程序

时间:2015-02-04 12:42:59

标签: xcode swift nsuserdefaults reload setting

我有一堆NSUserDefault设置,在设置页面上我有一个"重置设置"调用此方法的按钮:

@IBAction func resetData(sender: AnyObject) {
    let appDomain : NSString = NSBundle.mainBundle().bundleIdentifier!
    NSUserDefaults.standardUserDefaults().removePersistentDomainForName(appDomain)
    println("Settings reset")
}

如何将应用程序重置为" erase"所有保存的数据并显示一个新的应用程序?

先谢谢你

1 个答案:

答案 0 :(得分:1)

请注意,用户默认值具有名为dictionaryRepresentation的e方法,该方法返回表示为字典的所有用户默认值。擦除该字典中的所有数据循环并删除每个键的对象

var userDefaults =  NSUserDefaults.standardUserDefaults().dictionaryRepresentation()

for (key,value) in userDefaults{

    NSUserDefaults.standardUserDefaults().removeObjectForKey(key as String)

}

如果您需要在删除数据后刷新UI,请考虑创建一种方法,即使任何键值为nil,也可以根据用户默认值设置视图状态,然后在加载视图或按下重置按钮时调用此方法