inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[Lv.2] SwiftUI trung cấp - Hoàn thành ứng dụng bằng Core Data và SwiftData

ViewBuilder

ViewBuilder 강의 관련 질문입니다.

Đã giải quyết

94

duckduck

3 câu hỏi đã được viết

0

강의 관련된 질문은 언제나 환영입니다 😄

ios swift swiftui iphone-app

Câu trả lời 1

0

jacobko

안녕하세요 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

42

2

강의에서 사용된 안드로이드 스튜디오 버전을 알고싶어요.

0

40

2

SwiftData 미리보기 미적용

0

41

2

중괄호와 함수

0

41

2

기본 뷰 디자인이 강사님과 다릅니다.

0

44

2

이미지 2x, 3x 질문

0

31

2

강의를 다 듣고난 후

0

46

2

android crud중 c 영상이 12초만 있는 잘린 영상이에요.

0

55

2

수강 기간 연장 문의

0

57

1

수강연장부탁드려도될까요..

0

72

2

Sorted, Filter, Map - UserViewModel 부분 오류 발생

0

126

1

CoreData Array의 변화에 따른 SwiftUI View 변화 적용(with @Observable Macro)

0

231

2

init-deinit의 무한루핑을 벗어나는 방법이 궁금합니다.

1

194

2

Apple 공식 문서 보는법

0

354

2

5월 업데이트 예정이었던 , iOS17 컨텐츠 SwifData 업데이트 언제 되나요 ?

0

265

1

Spacer() 를 넣으니 예제처럼 SafeArea 확보가 안됩니다.

0

516

3

Local Notification 예제 문의

0

335

2

Local Notification 강의 편집오류 있어요

0

255

2

강의중 코드폴딩 단축키 (커맨트+옵션+왼쪽방향키)

0

216

2

코어데이터에 중복값 입력 방지

0

325

1

Combine 관련 질문드립니다.

0

252

1

if let else 질문있습니다.

0

235

1

강의 Weak Self 코드 실행시 오류에 대해

0

666

1

SwiftData가 Core Data를 대체하는지요?

0

2122

1