ViewBuilder 강의 관련 질문입니다.
강의 관련된 질문은 언제나 환영입니다 😄
코드 관련 상세하게 작성해주시면 더 좋아요! (상세코드를 붙여넣기 해주세요)
마크다운을 사용해서 편리하게 글을 작성하세요
먼저 유사한 질문이 있었는지 먼저 검색 해보는 습관~
인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요
LocalViewBuilder에서 numberPlate에
ViewBuilder 매크로를 사용해야되는 이유를 LocalViewBuilder에 선언된 ViewType을 사용하려면 이라고 설명해주셨는 데,
그것과는 상관없이 numberPlate 안에서 분기 처리된 항목들(view1, view2, view3)이 다 다른 타입(Text, VStack, Image)이라서 ViewBuilder 매크로를 사용해야되는 것이 아닐까요 ??
설명 듣다가 헷갈려서 질문드립니다.
답변 1
0
안녕하세요 ducduck 님. 질문 주셔서 감사합니다.
정리하자면
제가 설명한 부분: LocalViewBuilder에 선언된 ViewType을 사용해서 조건부 뷰를 만들기 위해 @ViewBuilder가 필요하다.
질문자님이 이해하신 부분: 각 조건에서 반환하는 뷰들이 서로 다른 타입(Text, VStack, Image)이라서 @ViewBuilder가 필요하다.
실제로는 둘 다 연결된 같은 이유입니다!
ViewType enum을 사용해서 → 조건부 분기를 만들고 → 각 분기에서 다른 타입의 뷰를 반환하기 때문에 → @ViewBuilder가 필요
예시로
@ViewBuilder private var numberPlate: some View {
if type == .one { Text("1") } // Text 타입
else if type == .two { VStack{} } // VStack 타입
else { Image("3") } // Image 타입
}SwiftUI에서 some View는 단일 타입만 반환할 수 있는데, @ViewBuilder가 이런 다른 타입들을 하나로 통합해주는 역할을 합니다.
그렇게 때문에 ViewType 을 활용한 조건부 뷰 구현과 서로 다른 타입 처리, 둘 다 @ViewBuilder 가 필요한 이유입니다
수강 기간 연장 문의
0
27
1
수강연장부탁드려도될까요..
0
41
2
Combine Playground 에서 실행 시
0
55
2
70강 - 글로벌 액터로 격리된 Protocol 을 extension 에서 conform 시 타입 본체의 격리 수준 질문
0
41
1
searchable이 화면 하단에 위치해요
0
61
2
Drawing Cycle 관련 질문
0
72
1
앱 제작 시 주로 코드로 작성하시는 이유가 있을까요?
0
95
2
델리게이트 패턴 관련 질문
0
66
2
ios 애드몹 광고
0
133
2
수강 기간 연장 부탁드릴 수 있을까요?
0
61
1
Sorted, Filter, Map - UserViewModel 부분 오류 발생
0
102
1
CoreData Array의 변화에 따른 SwiftUI View 변화 적용(with @Observable Macro)
0
205
2
init-deinit의 무한루핑을 벗어나는 방법이 궁금합니다.
1
167
2
Apple 공식 문서 보는법
0
324
2
5월 업데이트 예정이었던 , iOS17 컨텐츠 SwifData 업데이트 언제 되나요 ?
0
252
1
Spacer() 를 넣으니 예제처럼 SafeArea 확보가 안됩니다.
0
490
3
Local Notification 예제 문의
0
320
2
Local Notification 강의 편집오류 있어요
0
236
2
강의중 코드폴딩 단축키 (커맨트+옵션+왼쪽방향키)
0
208
2
코어데이터에 중복값 입력 방지
0
313
1
Combine 관련 질문드립니다.
0
244
1
if let else 질문있습니다.
0
220
1
강의 Weak Self 코드 실행시 오류에 대해
0
653
1
SwiftData가 Core Data를 대체하는지요?
0
2111
1





