iOS提供許多的儲存方式,其中最簡單的就是 UserDefault,例如儲存使用者的開啟次數、使用時間甚至是簡易設定,這些少量資訊的儲存,我們會選擇使用 UserDefault 來做儲存,較大量資料儲存不建議使用 UserDefault。
而 UserDefault 類別是一個用來將資料儲存為 key-value 格式的類別,這個類別會將資料儲存成檔案並放在 Library/Preferences 目錄下,副檔名為 plist。
以下我們要做一個儲存簡易訊息的範例,當我們在 TextField 填入我們想要儲存字串,按下「寫入」按鈕就可以將資料存入本機,而當我們把 App 從使用程序中移除後,再次啟動並且點擊「取出」,就可以得知上次我們儲存的資料。
首先我們先行拉好界面,接著我們實例化 UserDefaults
let userDefault = UserDefaults()
接著我們要寫入資料,需要用到以下方法:
//設定要儲存的值(value)及key
userDefault.setValue(value: Any?, key: String)
而當我們需要取出資料時,我們就需要用到下列方法:
userDefault.value(forKey: String) as! String
但因為 value( forKey: String) 回傳的是一個 Any 型別的值,所以當我們要使讓他給與 UILabel 做使用時,我們必須將它轉型為 String