propertyWrapper
-
[Swift] SwiftUI 프로퍼티 래퍼 뿌시기 4: @EnvironmentObject테크 2024. 3. 7. 17:58
@Observable... 너에게 닿기가 너무나도 힘들구나... 조금만 파이팅해봅시다!!! @EnvironmentObject @frozen @propertyWrapper struct EnvironmentObject where ObjectType : ObservableObject 조상 뷰가 제공하는 ObservableObject를 관찰하는 프로퍼티 래퍼 조상 뷰에서 ObservableObject를 제공할 때 environmentObject(_:) modifier를 사용해야 함 @Observable 클래스를 관찰하려면, Environment를 사용하고 조상 뷰에서 environment modifier를 사용해야 함 무슨 말이냐? 조상 뷰가 제일 처음 ObservableObject를 하나 구독하고 있고 이를 ..
-
[Swift] SwiftUI 프로퍼티 래퍼 뿌시기 3: @ObservedObject와 @StateObject 차이 이해하기테크 2024. 3. 7. 17:18
이전 시간에 Combine의 Publisher와 Subscriber에 대해서 초간단 설명을 드렸는데요. 이것만 딱 기억하시면 됩니다! Publisher가 내보낸 값/이벤트만 Subscriber가 볼 수 있고 Subscriber만 Publisher가 내보낸 값/이벤트를 볼 수 있다 저번 시간에 ObservableObject에서는 이벤트를 방출할 수 있다고 했죠? 그렇다면 이 이벤트를 받아볼 수 있는 구독자 즉 Subscriber가 있어야 하는데 내가 바로 Subscriber다! 라고 선언해주는 것이 @ObservedObject라고 했습니다. @ObservedObject @propertyWrapper @frozen struct ObservedObject where ObjectType : ObservableO..
-
[Swift] SwiftUI 프로퍼티 래퍼 뿌시기 2: @Published 찍먹하기 (feat. ObservableObject)테크 2024. 3. 6. 21:28
하... 사실 앞의 @State랑 @Binding은 빌드업이었던 것임ㅠ Observ... 어쩌고저쩌고만 봐도 머릿 속에 물음표만 생겼던 나 자신 더 이상 미룰 수 없다. (왕진지) 일단 ObservableObject 이 친구가 무엇인지 알아야할 것 같은 느낌이 강하게 들어서 이 친구부터 먼저 도장깨보도록 하겠음!!! ※ Combine을 모르는 사람들을 위한 글입니다... (왜냐? 제가 모르기 때문에 ㅎㅋ) ObservableObject protocol ObservableObject : AnyObject Combine을 사용하는 것으로 이벤트 방출(emit)이 가능 (무슨 소린지 모르겠어도 포기하지 말고 계속 읽어주세요!) 클래스에서만 사용 가능 일반적으로 ViewModel 구현 시 사용 (ViewMode..
-
[Swift] SwiftUI 프로퍼티 래퍼 뿌시기 1: @State와 @Binding테크 2024. 3. 6. 19:25
후... 기본이 탄탄하지 않으니 코드 작성하는게 어렵다 어려워; @Observable이 뭐지?하고 보다가 그냥 제가 프로퍼티 래퍼를 잘 모르는 것 같아가지구요ㅠㅎ 기초부터 하나씩 하나씩 뜯어보도록 하겠습니다... 일단 프로퍼티 래퍼가 뭐냐? 프로퍼티 래퍼 (Property Wrapper) SwiftUI에서 @붙은 애들을 지칭함: @propertyWrapper, @State, @Binding, @Bindable, ... 속성(Property, 이하 프로퍼티)과 관련된 행동들을 캡슐화함 결과적으로 코드의 가독성을 높임 예를 들어서 아래와 같은 코드가 있다고 생각해 봅시다. import SwiftUI struct Car { private var _model = "" var model: String { get ..