Description:
iOS 提供的儲存資訊方式之一,也是最為簡單的方式。可以儲存各種格式:Bool 、 Float 、 Double 、 Int 、 String 或 URL,...。少量資訊的話可以使用 UserDefaults 來儲存。
Component:
Highlight function:
UserDefaults 宣告及初始化方式:
var userDefaults: UserDefaults!
userDefaults = UserDefaults.standard
UserDefaults 儲存方式是採用 key-value 方式,一個儲存值對應到一個 key 值,儲存方式如下:
@IBAction func updateInfo() {
...
userDefaults.set(textField.text, forKey: "name")
...
}
可以新增當然也可以刪除,刪除時只需刪掉 key 值即可完成。
@IBAction func removeInfo() {
userDefaults.removeObject(forKey: "name")
}
讀取儲存資訊的方式一樣也是透過 key 值來取得, userdefaults 本身提供了多種回傳不同型態之 function,在此是取得字串並顯示於畫面。
if let nameInfo = getUserDefaults.string(forKey: "name") {
...
}
Additional:
UserDefaults 是採用 plist 檔案格式儲存,儲存內容可在 container 中找到,路徑為AppData/Library/Preferences/xxxx.plist
Reference:
Source code on Github
UserDefaults