SwiftUI — Detect state changes
Mit der internen Funktion Self._printChanges() von SwiftUI können Änderungen erkannt werden.
struct SomeView: View {
@State private var count = 0
var body: some View {
print("draw body")
Self._printChanges()
return VStack {
Text("Count: \(count)")
Button("Increment") {
count += 1
}
}
}
}
Konsolenausgabe:
draw body
SomeView: @self, @identity, _count changed.
// tap Increment button
draw body
SomeView: _count changed.
Alternative zu Self._printChanges(): Xcode 15.1 hat eine neue Debug-Methode eingeführt, die ähnlich wie Self._printChanges()funktioniert und das Debuggen von SwiftUI-Views ermöglicht:
#if DEBUG
Self._logChanges()
#endif
Zuletzt aktualisiert: