4
我有動態密鑰生成來構建我的數據庫,所以我需要能夠找到用戶生成的所有密鑰,如果我想做一個完整的刪除。Swift3 - 如何找到Foundation.UserDefaults中的所有密鑰,以便我可以刪除我的所有數據
func deleteAllData(){
let userDefaults = Foundation.UserDefaults.standard
let keys = userDefaults.dictionaryRepresentation()
for key in keys {
print(key)
userDefaults.removeObject(forKey: String(describing: key))
}
}
所以我不正確的解釋,因爲我抓住這裏的鍵包含系統信息,如AppleLocale,PKKeychainVersionKey和AppleKeyboards。
我注意到了UserDefaults中的一些函數,例如removeSuite,removeVolatileDomain和removePersistentDomain。有沒有更好的方法來構建我的數據,這樣我就可以使用這些方法,或者如果我知道要傳遞什麼參數,我可以使用它們。
// How I've been setting my data
userDefaults.set(taskTime, forKey: "\(taskName)_taskTime")
userDefaults.set(lastRefresh, forKey: "\(taskName)_lastRefresh")
//Swift2.x delete-all method
for key in Array(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys) {
NSUserDefaults.standardUserDefaults().removeObjectForKey(key)
}
謝謝隊友,我找到了一個類似的解決方案。對於在開發過程中創建的手機還有一些「浮動」數據仍然不滿意。希望有一個刪除所有方法 –