Dependency (SwiftUI)
#SwiftUI
Dependency とは
SwiftUI における View Dependency とは、いわゆる View への入力のこと。基本的にはView のプロパティを指す。
code:swift
strut Cat: View {
@Binding var cat: Cat //-+--- この2つがDependency
var isSleeping: Bool //-+
var body: some View {
// ...
}
}
View に対して何かアクションが発生すると、View の Dependency (SwiftUI) が変化する。Dependency (SwiftUI) が変化すると、その Dependency (SwiftUI) に依存した View が再描画される。というサイクルが発生する。
ある Dependency (SwiftUI) が変化した時、SwiftUI はその Dependency (SwiftUI) の依存元である View を無効化し、各々の body の値を新しく生成する。その結果、body の生成を通じてより多くの View が描画される可能性がある。が、SwiftUI は View の型構造を比較して、適切なサブセットのみを更新することができる。View は値型であり、その値はこうした比較のために使われる。
Demystify SwiftUI - WWDC 2021