8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【SwiftUI】@AppStorageでUserDefaultsをかんたんに

Posted at

はじめに

@AppStorageは、SwiftUIでUserDefaultsに簡単にアクセスするためのプロパティラッパーです。ローカルにデータを保持できるコードをより簡潔に書くことができます。iOS14から使用できます。

@AppStorageのメリット

  • 初期値設定、アクセス、変更、取得がかんたん
  • 値が変更されたときにViewが自動的に更新される

コードを見るとメリットがより理解できると思います。

使い方

@AppStorage("Key")をプロパティに定義するだけです。変数が変更される度に自動的に保存され、通常の変数と同様に使用できます。

import SwiftUI

struct ContentView: View {

    // @AppStorageを使用してUserDefaultsのキーを入力
    @AppStorage("name") private var name: String = "Sauna1137"
    
    var body: some View {
        VStack {
            Text("Hi, \(name)!")
            
            TextField("名前を入力してね", text: $name)
        }
    }
}

上記コードではTextFieldに入力されたテキストは リアルタイムで"name"というキーでUserDefaults に保存され、View(Text)も更新されます。保存、取得など既存のUserDefaultsでは記述量が多く、明示的に保存する必要がありましたが@AppStorageを使用すれば不要なのがかなり便利ですね!

まとめ

既存のUserDefaultsを知っていると@AppStorageはかなり使いやすくなっている印象です。
まだ知らないプロパティラッパーがあるので調べてみたいと思います。

最後に

私の働いている会社で経験の有無を問わず採用を行っています。
興味のある方は是非カジュアル面談から応募してみてください!

8
8
0

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
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?