Swiftで遊ぼう! - 507 - UserDefaults
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
データ保存に関する簡単な説明に触れる機会があった。Data Storageというプロジェクトを作って、ViewControllerでデータ保存の手順の説明を受けたので復習します。
データ保存には、アプリ内保存とアプリ外保存(ネット上も含め)の2通りの方法がありますが、UserDefaults*1クラスを使う方法はアプリ内でデータを保存する基本です。シングルトン・パターンで使用する重要性は必ず理解してください。
import UIKit class ViewController: UIViewController { var array = [1, 2, 3, 4] override func viewDidLoad() { super.viewDidLoad() UserDefaults.standard.set("屋台ブルー", forKey: "name") let userName = UserDefaults.standard.object( forKey: "name") as? String ?? "" print(userName) UserDefaults.standard.set(array, forKey: "myArray") let userArray = UserDefaults.standard.object( forKey: "myArray") as? [Int] ?? [] // 「guard」を使う方法もあるかも // guard let userArray = // UserDefaults.standard.object( // forKey: "myArray") as? [Int] else { // // return print("no value") // } for i in userArray { print(i) } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
データ保存をするときにUserDefaultsの定数化や変数化も必要ないということです。過去の自分のブログも読み返してみるとUserDefaultの使用法がなんとなく見えてきました。データ保存のプログラミング設計をじっくり考える必要があります。
*1:以前はNSUserDefaultsクラスでしたがiOS10から変更