@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 が管理する値を読み書きできるプロパティ ラッパー型。

コメント