ホーム » Swift » 【SwiftUI】SwiftUIでのUserDefaults:@AppStorageの使い方

【SwiftUI】SwiftUIでのUserDefaults:@AppStorageの使い方

【SwiftUI】SwiftUIでのUserDefaults:@AppStorageの使い方 Swift

@AppStorageとは?

Swiftで使用していたUserDefaultsをSwiftUIで使用可能にし、かつバインド可能な値にしてくれるプロパティラッパーです。

UserDefaultsに関しては以下記事で説明しています。

@AppStorageの使い方

使い方はとてもシンプルです。以下のように定義し@Stateと同じように使うことが可能です。

@AppStorage("key") var 変数名 = ""

例:TextEditorの内容をAppStorageに覚えさせておくコード

import SwiftUI

struct ContentView: View {
    
    @AppStorage("text") private var notes = ""

    var body: some View {
        NavigationView {
            TextEditor(text: $notes)
                .navigationTitle("TextView")
                .padding()
        }
    }
}

保存・読み出しのタイミングは?

  • 保存:値に変化があるタイミングで保存してくれる
  • 読み出し:onApperの段階ではすでに読み込まれている

対応している型は?

UserDefaultsと同様です。

・boolean、integer、float、double、string、array、dictionary、Data

まとめ

@AppStorageはUserDefaultsをSwiftUIでバインド可能な値として使えるプロパティラッパーです。

環境

・Swift 5.7.2

・Xcode 14.2

・iOS 16.2

おすすめ参考書籍

図とサンプルコードが多くわかりやすく、手を動かしながら学べるのはもちろんですが、状態やデータフローに関する解説や、swiftuiから uikitを使う方法、uikitから swiftuiを使う方法などフレームワークの関連性まで説明していてとても参考になります。

SwiftUIの勉強ならUdemyがおすすめ!

私は以下の講座で勉強しています。サンプルアプリをたくさん作るので楽しく進められます。

2022/12/27時点で4345評価のベストセラーです。

SwiftUI Masterclass 2022 icon
https://www.udemy.com/courses/search/?src=ukw&q=SwiftUI

2400円と安いのもおすすめです。

英語ですが、英語のUdemyコースの勉強の仕方は以下で説明しています。簡単です。

もしご参考になりましたら下部にある役に立ったボタン、TwitterなどSNSへの投稿をしていただけると励みになります

コメント

タイトルとURLをコピーしました