728x90
안녕하세요.
이번에는 SwiftUI의 __printChanges에 대해 알아볼게요.
__printChanges는 Xcode 13부터 사용할 수 있는 method인데요,
SwiftUI의 body가 다시 그려질 때(상태 값이 변경될 때), 뷰의 프로퍼티가 어떤 값으로 변하는지 콘솔에 출력해주는 method입니다.
사용법은 아주 간단해요ㅎㅎㅎ
뷰 body 안에 아래 코드를 추가해주면 끝입니다.
Self._printChanges()
직접 확인해볼까요??
struct ContentView: View {
@State private var isShow = false
@State private var isOn = true
@State private var speed = 50.0
@State private var isEditing = false
var body: some View {
Self._printChanges() ✅
return VStack {
Button("Button") {
isShow.toggle()
}
if (isShow) {
Text("isShow")
}
Toggle(isOn: $isOn) {
Text("Toggle")
.background(isOn ? Color.yellow : Color.blue)
}
Slider(value: $speed, in: 0...100, onEditingChanged: { editing in
isEditing = editing
})
Text("\(speed)")
.foregroundColor(isEditing ? .red : .blue)
}
}
}
로그를 보면 버튼이 눌릴 때, 토글 될 때, Slider가 움직일 때 어떤 변수가 어떻게 바뀌는지 출력해주는 것이 보이나요??
이렇게 프로퍼티가 어떻게 바뀌는지 바로바로 콘솔에 출력해주기 때문에 디버깅할 때 매우 유용하게 사용할 수 있을 것 같아요!!ㅎㅎ
이번 글은 여기서 마무리.
반응형
'SwiftUI' 카테고리의 다른 글
horizontalSizeClass, dynamicTypeSize (0) | 2022.04.17 |
---|---|
Gesture (0) | 2022.04.01 |
SceneStorage (0) | 2022.03.20 |
Canvas 뷰를 통한 성능 향상 (0) | 2022.03.14 |
cornerRadius (0) | 2022.03.13 |