#実現したいこと
アプリ内でユーザーの状態(ログイン済or未、個人情報の入力済or未)によって画面遷移やダイアログを出したい。
#userDefaultsを使用する
アプリを再起動してもユーザーのログイン情報等を保持したかったが今回は該当ユーザーが「ログインしている」「ログインしていない」のようなBool値のみを利用して判断すれば良いため、keyとそれに対応するvalue(Bool値)を持つことができたらいい。
またアプリ内で永続的に保持していたい。その場合userDefaults
を使用したら良いことが分かった。
#userDefaultsの使用手順
今回頭の整理も兼ねてuserDefaults使用の手順を書いてみた。
なお今回は"LoginInfo"
というkeyにfalse
というvalueをセットする場合である。
###1.userDefaultsのインスタンスを生成
let userDefaults = UserDefaults.standard
###2.デフォルト値を設定(初期値は今回falseに設定している)
userDefaults.register(defaults: ["LoginStatus": false])
###3.指定したkeyに対してvalueを設定する。
ログインボタンが押された際、"LoginInfo"
にtrue
のkeyを設定したい。
下記のような書き方で"LoginInfo"
というkeyに対してtrue
というのbool値を設定している。
userDefaults.set(true, forKey: "LoginStatus")
###4.データを取ってくる。今回はkeyである"LoginStatus"のbool値true
を取ってきてloginStatus
に入れている。
let loginStatus = userDefaults.bool(forKey: "LoginStatus")