KeyPath, 키 경로
·
SwiftUI
KeyPath는 프로퍼티를 참조하여 읽고 쓸 수 있게 해주는 것 keypath 는 역슬래시( \ )와 타입, 마침표( . ) 경로로 구성되어 있습니다.class Person { var name: String init(name: String) { self.name = name }} struct Stuff { var name: String var owner: Person}// name이 var로 선언된 경우 WritableKeyPath// name이 let로 선언된 경우 KeyPath.Typeprint(type(of: \Person.name)) //WritableKeyPathprint(type(of: \Stuff.name)) //WritableKeyPath key..
projectedValue
·
SwiftUI
projectedValue 란- state 값에 바인딩해주는 것 설명projected value를 사용하여 저장된 값에 대하여 바인딩을 얻을 수 있다. 바인딩은 저장된 값에 양방향 연결을 제공한다. projectedValue에 접근하기 위해서는 $ 수식을 붙여야한다. 다음 예시에서 PlayerView 에서 @State 프로퍼티인 isPlaying은 PlayButton 뷰에서도 접근하고 쓰고 읽을 수 있게 해준다.struct PlayerView: View { var episode: Episode @State private var isPlaying: Bool = false var body: some View { VStack { Text(episode.title..
Binding
·
SwiftUI
데이터의 출처에 값을 읽고 쓸 수 있는 프로퍼티 래퍼 타입이다 Overviewbinding은 저장하는 데이터와 데이터를 바꾸고 바뀐 값을 띄우는 view와 함께 연결시키는 양방향 연결을 만들어준다.binding은 데이터를 직접 저장하는 대신 프로퍼티를 데이터 출처(어디에 저장되어 있든 상관없음)와 연결시켜준다. 예를 들어 play 버튼과 pause 버튼을 만들때 binding을 만들어 부모 뷰에 있는 프로퍼티와 연결시킬 수 있다.struct PlayButton: View { @Binding var isPlaying: Bool var body: some View { Button(isPlaying ? "Pause" : "Play") { isPlaying.toggle..
ytw_developer
IT Document