일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ribs
- combine
- collectionview
- HIG
- 리펙토링
- Xcode
- Observable
- MVVM
- 클린 코드
- rxswift
- map
- uitableview
- ios
- 리펙터링
- swiftUI
- tableView
- Refactoring
- UICollectionView
- 스위프트
- SWIFT
- clean architecture
- Protocol
- Clean Code
- uiscrollview
- swift documentation
- UITextView
- Human interface guide
- 애니메이션
- 리팩토링
- RxCocoa
- Today
- Total
목록@EnvironmentObject (2)
김종권의 iOS 앱 개발 알아가기
목차) SwiftUI의 기본 - 목차 링크 @EnvironmentObject 란? parent 뷰에서 정의한 observable 객체이며, subview들이 접근 가능한 프로퍼티로 property wrapper 타입 즉, parent 뷰에서 subview에 특정 상태를 주입하여, subview에서 그 상태에 접근할때 사용 subview에서 superview로부터 주입받은 @EnvironmentObject 프로퍼티를 변경시키면 부모에서도 모두 뷰가 업데이트 전역적으로 데이터를 공유하는 형태이므로, 뷰 간 데이터를 공유할때 사용 내부 코드 dynamicMember keyPath로 해당 프로퍼티에 접근할때 dot(.)로 접근이 가능 ObservableObject 타입을 준수할때 사용이 가능 @available..
@State View를 상속받는 뷰에서, 값을 변경할때 사용하는 프로퍼티 어노테이션 @State var n = 0 내부 구현부는 propertyWrapper를 사용한 형태 ex) @State를 붙이지 않은 경우 컴파일 에러 발생 struct ContentView: View { var n = 0 var body: some View { VStack { Text("\(n)") Button("Tap!!") { n += 1 // Error: Left side of mutating operator isn't mutable: 'self' is immutable } } } } ex) @State를 프로퍼티 앞에 붙일 경우 컴파일 에러 해결 struct ContentView: View { @State var n = 0 //