본문 바로가기

iOS

ViewBuilder

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