728x90
반응형
SMALL
ViewBuilder
A custom parameter attribute that constructs views from closures.
"클로저에서 뷰를 생성하는 맞춤형 매개변수 *어트리뷰트입니다."
*** attribute ( @ ) ***
코드의 요소에 추가적인 정보를 제공하거나 동작을 변경하는 데 사용
ex) @IBOutlet @property @ViewBuilder
func contextMenu<MenuItems: View>(
@ViewBuilder menuItems: () -> MenuItems
) -> some View
AnyView로 래핑해서 View를 반환 타입으로 AnyView를 반환하는 방식(타입 캐스팅) 보다 ViewBuilder를 사용하면 좋은 점
1. 뷰를 조합하는 코드를 보다 간결하고 가독성 있게 작성할 수 있도록 도와줍니다.
2. 컴파일러가 타입을 정확하게 추론할 수 있도록 합니다. (타입 캐스팅을 하는 전자는 런타임에서 실제 뷰 타입을 추론하는 반면 ViewBuilder를 사용할 경우 컴파일 타임에 뷰의 타입을 알 수 있습니다.)
728x90
반응형
LIST
'iOS' 카테고리의 다른 글
📝[docs]: Core Bluetooth - 0621 (0) | 2023.06.21 |
---|---|
Tuist에서 xcode 버전 manage (0) | 2023.06.17 |
Global DispatchQueue, QoS (0) | 2023.05.30 |
UIKit 화면 상태 (0) | 2023.05.18 |
SwiftUI active, inavtive, background 상태 (0) | 2023.05.18 |