【swift4】UserDefaultに値を保存して取り出す方法

2020年8月27日

swift4でUserDefaultに値を保存して取り出す方法をご紹介します。

UserDefaultsに保存する処理、取り出す処理

import UIKit

class Common: NSObject {
    
    static func getUserDefaults(key: String) -> Any? {
        
        let userDefaults = UserDefaults.standard
        let data = userDefaults.object(forKey: key) as? Data
        
        if data != nil {
            return NSKeyedUnarchiver.unarchiveObject(with: data!)
        }
        else {
            return nil
        }
    }
    
    static func setUserDefaults(value : Any, key: String) -> Void {
        
        let userDefaults = UserDefaults.standard
        let data : Data = NSKeyedArchiver.archivedData(withRootObject: value)
        
        userDefaults.set(data, forKey: key)
        userDefaults.synchronize()
    }
}

使い方

// 保存する
Common.setUserDefaults(value: "abcd", key: "hoge")
// 取得する
let str = Common.getUserDefaults(key: "hoge")

print(str) // abcd