プロパティラッパー

iOS

@Binding

信頼できる情報源が所有する値を読み書きできるプロパティ ラッパー型。

データを直接保存しているのではなく、他の場所に保存されているプロパティに接続する。

値を変更するとビューに通知される。

使い方(appleヘルプから引用)

struct PlayerView: View {
    var episode: Episode
    // 信頼できる情報源が所有する値になる
    @State private var isPlaying: Bool = false

    var body: some View {
        VStack {
            Text(episode.title)
                .foregroundStyle(isPlaying ? .primary : .secondary)
            // isPlayingをバイディング
            PlayButton(isPlaying: $isPlaying) // Pass a binding.
        }
    }
}

struct PlayButton: View {
    @Binding var isPlaying: Bool

    var body: some View {
        Button(isPlaying ? "Pause" : "Play") {
            isPlaying.toggle()
        }
    }
}

@Published

属性でマークされたプロパティを発行する Combine フレームワークの型の型エイリアス。

値を変更するとビューに通知される。

@StateObject

監視可能なオブジェクトをインスタンス化するプロパティ ラッパー型。

@State

SwiftUI が管理する値を読み書きできるプロパティ ラッパー型。

コメント

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