ViewBuilder ViewBuilder - 정의 : 클로저로 다수의 자식 뷰들을 만들수 있게해주는 parameter attribute - buildBlock 이라는 타입 메서드를 통해서 자식 뷰로 작성된 단일 뷰를 전달 - 2개 이상의 뷰일때는 TupleView 라는 타입을 리턴 - body 프로퍼티는 암시적으로 @ViewBuilder로 선언되어있다 다음과 같은 함수의 파라미터에 func contextMenu( menuItems: () -> MenuItems ) -> some View ViewBuilder를 붙여줌으로써 func contextMenu( @ViewBuilder menuItems: () -> MenuItems ) -> some View 다음과 같이 여러 자식뷰들을 클로저 내부에서 생성할수 있다 myView.c.. 2022. 11. 10. @State, @Binding , @ObservedObject, @Published, @StateObject, @EnvironmentObject @State SwiftUI는 state로 선언한 모든 프로퍼티의 스토리지를 관리 @State를 앞에 추가하면 SwiftUI가 자동으로 변경사항을 observe하고 해당 state를 사용하는 view부분을 업데이트 view 인스턴스를 만들면서 해당 view의 state 프로퍼티는 초기화하면 프로퍼티를 관리하는 swiftui와 충돌이 발생할수 있으므로, 항상 state프로퍼티를 private으로 선언 @Binding // 부모 view struct PlayerView: View { var episode: Episode @State private var isPlaying: Bool = false var body: some View { VStack { Text(episode.title) .foregroundSt.. 2022. 9. 13. 이전 1 다음