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
24
0
Static 선언 시 에러 발생
0
40
1
클로저의 형태로 만들다
0
44
1
Function Types Error
0
36
1
안드로이드 기기 실행 오류
0
47
2
수강연장 가능할까요...
0
56
2
강의에서 사용된 안드로이드 스튜디오 버전을 알고싶어요.
0
57
2
SwiftData 미리보기 미적용
0
54
2
중괄호와 함수
0
57
2
기본 뷰 디자인이 강사님과 다릅니다.
0
54
2
Sorted, Filter, Map - UserViewModel 부분 오류 발생
0
134
1
CoreData Array의 변화에 따른 SwiftUI View 변화 적용(with @Observable Macro)
0
235
2
init-deinit의 무한루핑을 벗어나는 방법이 궁금합니다.
1
200
2
Apple 공식 문서 보는법
0
358
2
5월 업데이트 예정이었던 , iOS17 컨텐츠 SwifData 업데이트 언제 되나요 ?
0
265
1
Spacer() 를 넣으니 예제처럼 SafeArea 확보가 안됩니다.
0
520
3
Local Notification 예제 문의
0
341
2
Local Notification 강의 편집오류 있어요
0
256
2
강의중 코드폴딩 단축키 (커맨트+옵션+왼쪽방향키)
0
220
2
코어데이터에 중복값 입력 방지
0
333
1
Combine 관련 질문드립니다.
0
258
1
if let else 질문있습니다.
0
239
1
강의 Weak Self 코드 실행시 오류에 대해
0
671
1
SwiftData가 Core Data를 대체하는지요?
0
2129
1





