LoginSignup
6

More than 5 years have passed since last update.

Swift3 UserDefaults 覚え書き

Last updated at Posted at 2017-06-15

追記 2017/10/28

これのが簡単でいい

        //定義
        let defaults:UserDefaults = UserDefaults.standard

        /保存
        defaults.set("Totally True", forKey: "HasAppBeenOpenedBefore")

        //出力
        for (key, value) in UserDefaults.standard.dictionaryRepresentation() {
            print("\(key) = \(value) \n")
        }

説明

UserDefaultsは気軽にデータを永続化することができる便利な機能です。データベースを使うほどでもない永続化したいデータなどに活用されます。割と安易に実装が出来るのでお手軽で便利です。設定画面の実装などに使えますね。備忘録として、使い方をサラッと書き残しておくことにします。

step1 structを定義する

structに定義された定数に永続化される対象のデータが入ります。structの中に、データが保存されていると思っていいです。謂わば最初に定義されたstructの中の変数はデータを保存する箱です。

struct Constants {
    static let TupacAmaruShakur = "Tupac "
    static let NotoriousBig = "Biggie"
}

step2 変数を定義する

永続化したいデータの実態を保存する変数を定義しましょう。のちに出てくるsetメソッドでこの変数を使います。この変数をstructに保存する感じです。

var Tupac  = "californialove"
var Biggie  = "BigPoppa"

step3 セットする

準備ができたので値を永続化させてみましょう。先ほど定義した変数にStringの値を代入して、その変数をstructにセットしています。セットした時点でストラクとは永続化されています。

UserDefaults.standard.set(Tupac, forKey: Constants.TupacAmaruShakur)
UserDefaults.standard.set(Biggie, forKey: Constants.NotoriousBig)

step4 出力する

セットした値を取り出したければ下記のように書きます。print()などでそのまま下記のコードをデバックしてみれば、保存したデータが出力されるはずです。


UserDefaults.standard.string(forKey: Constants.TupacAmaruShakur)
UserDefaults.standard.string(forKey: Constants.NotoriousBig)

Swift3 UserDefaults 覚え書き 其の二


// Create UserDefaults
let defaults = UserDefaults.standard

// Save String value to UserDefaults
// Using defaults.set(value: Any?, forKey: String)
defaults.set("Some string you want to save", forKey: "savedString")

// Get the String from UserDefaults
if let myString = defaults.string(forKey: "savedString") {
    print("defaults savedString: \(myString)")
}

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6