[Swift3]変数の内容を自動的にアプリに保存させる

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
Swift

プロパティオブザーバー(didSet)とUserDefaultsの合わせ技で、変数の内容を自動的にアプリ内に保存する仕組みを作る。

実装する

保存したい変数にプロパティオブザーバーを設定する

値が変わった時にその内容を保存したい変数に、didSetのブロックを用意する。これで、変数の内容が変わった時にdidSet内の処理が走るようになる。

UserDefaultsで変数の値を保存する

変数「count」の内容が更新されたら、その内容をUserDefaultsに保存する。この処理を先ほどのdidSet内に書くことで、変数が更新されるタイミングでいちいち保存処理を書かなくて済む。

一旦UserDefaultsに保存されれば、アプリを削除するまでその内容がアプリに残る。

保存した値を取り出す

保存した変数の内容の型に合わせて、UserDefaultsから取得する。今回はInt型の内容を保存したのでinteger(forKey:)で取り出す。

今回作ったソース全文

値を取り出す処理はどこに書いても良い。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。