SwiftUI Property Wrapper 팁 모음
2022년 11월 2일 수정
≡ 목차 (Table of Contents)
이 글은 SwiftUI와 SwiftUI Property Wrappers와 관련된 몇 가지 팁을 정리한다.
Custom Initializer
struct SomeView: View { @Binding var name: String var body: some View { ... } }
이런 뷰에서 생성자를 커스터마이징 하고 싶다면 아래와 같은 식으로 구현할 수 있다.
struct SomeView: View { @Binding var name: String init(name: Binding<String>) { self._name = name } var body: some View { ... } }
밑줄이 붙은 이름은 @Binding
이 자동으로 생성하는 프로퍼티인 것 같은데 명확한 것은 실제 구현을 봐야 알 수 있을 것 같다. 어쨌든 이런 식으로 기본 생성자를 마음대로 커스터마이징 할 수 있다.
Custom Initializer (Xcode 14)
미리보기에 테스트용 값 넘기기
SwiftUI용 뷰 구현 시 미리보기용 코드에서 @Binding
프로퍼티에 테스트용 값을 넘길 때는 Binding
에 정의된 constant()
를 이용할 수 있다. 예를 들어 SomeView
뷰에서 name
프로퍼티가 @Binding
으로 선언되어 있어서 뷰를 생성할 때 이 값을 임의 테스트 값으로 넘기려면 아래처럼 할 수 있다.
struct SomeView_Previews: PreviewProvider { static var previews: some View { SomeView(name: .constant("James")) } }