일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ribs
- swiftUI
- SWIFT
- Xcode
- combine
- clean architecture
- Refactoring
- 리팩토링
- rxswift
- Observable
- Clean Code
- RxCocoa
- 클린 코드
- MVVM
- HIG
- uitableview
- 스위프트
- Protocol
- UITextView
- collectionview
- uiscrollview
- 애니메이션
- tableView
- map
- ios
- Human interface guide
- swift documentation
- UICollectionView
- 리펙토링
- 리펙터링
- 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 //