| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- swift documentation
- Xcode
- Refactoring
- ios
- uitableview
- MVVM
- UICollectionView
- UITextView
- uiscrollview
- 애니메이션
- Human interface guide
- 클린 코드
- 스위프트
- 리팩토링
- Protocol
- SWIFT
- ribs
- RxCocoa
- combine
- rxswift
- 리펙토링
- collectionview
- scrollview
- tableView
- map
- clean architecture
- swiftUI
- HIG
- Observable
- Clean Code
- Today
- Total
목록@ViewBuilder (2)
김종권의 iOS 앱 개발 알아가기
뷰 주입받는 방법 3가지 특성단점 1. generics최적화 유지, 타입 안전뷰 타입이 고정됨⭐ 추천2. AnyView동적 뷰 변경 가능성능 저하 가능성⚠️ 가능하면 피할 것1. generics 방법View를 준수하는 타입으로 한정하여, 제네릭을 선언하는 방식최적화가 유지되는 장점// 주입받은 뷰를 표시하는 컨테이너struct ContainerView: View { let content: Content var body: some View { VStack { Text("현재 뷰") .font(.headline) content } .padding() .background(Color...
@ViewBuilder 기능 알아보기@ViewBuildervar myView: some View { Text("ex")}@ViewBuilder는 @resultBuilder 기능처럼 return키워드와 콤마를 안쓰고 심플하게 반환할 수 있음*resultBuilder개념은 이전 포스팅 글 참고// resultBuilder를 사용한 경우 - 콤마 존재 x@PersonBuilderfunc getPerson() -> [Person] { Person(name: "jake", age: 20) // return 키워드를 사용하지 않아도 동작 Person(name: "kim", age: 22) Person(name: "paul", age: 32)}하지만 @ViewBuilder를 단순히 @resultBuilde..