SwiftUI

__printChanges

Phililip
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