[TIL] 2022-04-19


📌 UserDefaults

  • インタフェース
  • 、データベースは内蔵されています
  • 鍵-値対記憶
  • モノトーンモード、アプリケーション全体に1つのインスタンスしかありません
  • は、自動ログイン、アイデンティティストレージ、優先パラメータデータ値などの単一データではなく、大容量データを格納するために使用される.
  • float、integer、double、booleanなどの基本タイプは、NSString、NSNumber、NSData、NSDate、NSArray、NSDictionaryタイプ
  • を格納することもできる.

    データストア


    最初のパラメータにvalueを入力し、2番目のパラメータにkeyを入力して保存します.
    既存の鍵の値を変更する場合はsetで変更することもできます.
    UserDefaults.standard.setValue(4, forKey: "month")
    UserDefaults.standard.setValue(19, forKey: "day")
    UserDefaults.standard.setValue("야곰", forKey: "name")
    UserDefaults.standard.setValue(true, forKey: "attend")

    データの操作


    値がない場合がありますので、nilマージ演算子??またはguard let構文を使用して比較することが望ましいです.
    let month = UserDefaults.standard.integer(forKey: "month")
    let day = UserDefaults.standard.integer(forKey: "day")
    let name = UserDefaults.standard.string(forKey: "name")
    let attend = UserDefaults.standard.bool(forKey: "attend")
            
    print("\(month)\(day)\(name) 출석여부: \(attend)")

    データ消去

    UserDefaults.standard.removeObject(forKey: "day")

    📌 InstantiateViewController


    指定されたStoryBoard ID(Identifierに入る値)を持つビューコントローラのデータを初期化し、インスタンスをメモリから解放し、新しいビューコントローラインスタンスを作成する方法.
    したがって、インスタンス化されたViewControllerは、新しいビューへの切り替えに適用されます.
    私たちのプロジェクトでは、QuestionViewControllerを再使用し、中のデータのみを置き換えるので、この例のViewControllerを使用するのに適しています.

    📌 NavigationControlメソッド


    pushViewController

    func pushViewController(UIViewController, animated: Bool)
    VCに移動してVCスタックに追加する方法

    popViewController

    func popViewController(animated: Bool) -> UIViewController?
    VCスタックにスタックされた前のVCに移動する方法.今VCは消えます.

    popToRootViewController

    func popToRootViewController(animated: Bool) -> [UIViewController]?
    ナビゲーションコントローラが指定したRoot VCにナビゲートする方法.VCスタックに蓄積されたVCはすべて消失する.

    popToViewController

    func popToViewController(UIViewController, animated: Bool) -> [UIViewController]?
    指定したVCが表示されるまで、VCスタック内のVCを一度にポップアップします.
    へへへ今日はここまで
    今初めて外回りに行きます~!
    リファレンス
    Tistory|開発新開発 /UserDefaults
    Tistory | MinuteMade /InstantiateViewController
    Tistory | Today /popViewController, pushViewController