- Total
목록오뚝이 개발자/SwiftUI (44)
꿈꾸는리버리

Input & Event Modifiers에는 많은 녀석들이 있지만, 오늘은 onAppear vs onRecieve 이 두녀석을 비교해 보고자 한다. 1) onchange onchange 이 녀석은 View Life Cycle에 속해 있는 아이이다. 정의를 살펴보자면,, @inlinable public func onChange(of value: V, perform action: @escaping (_ newValue: V) -> Void) -> some View where V : Equatable 어떤 값이 변했을 때 action을 취하도록 하는 modifier이다. 너무 긴 running time의 action이 필요하다면 background queue를 dispatch 해야 한다. ( 이 부분은 나중..

이번 포스팅에서는 @EnvironmentObject에 대해 알아보려 한다. 만약.. @StateObject와 @ObservedObject에 대해 모른다면 이전 포스팅 내용을 보고 공부를 하고 오는 게 ..!! 왜 @EnvironmentObject가 필요? @StateObject와 @ObservedObject를 사용할 때에는 자식뷰 N에서 사용하기 위해서는 계속 자식뷰1->자식뷰2->자식뷰3 으로 ObservableObjec를 넘겨주는 작업이 필요했다. 근데 만약에 자식뷰2,3,4에서는 A가 필요없는데 자식뷰 5에서 필요하다면..? 그래도 자식뷰2,3,4를 거쳐 자식뷰5까지 A를 전달해줬어야 한다. 그래서 나타난 게 ! @EnvironmentObject ! 요 칭구는 그림에서 봐도 알겠지만, 중간 중간에 ..

UserDefault vs AppStorage : UIKit 에서 userDefault를 사용했더라면, swiftUi에서는 appStorage를 사용한다! (appStorage는 property wrappers) 새로 추가된 거라면 무언가가 좋아졌다는 의미겠쥬..? UIkit에서 유저디폴트를 저장하고 업데이트 하는 걸 개발자가 코드로 짰어야 했다면 (명령형) swiftUI에서는 그냥 appStorage 쓰면 알아서 해준다는 것 ! (선언형) UIKit 공부하신 분이 아니고 appStorage가 처음이라면 굳이 userDefault 사용법과 swiftUI 사용법을 비교하지는 않아도 ... 되지 않을까.. 우선 , appStorage가 무엇인지, 그리고 어떻게 써야 하는지를 알아야 한다고 생각합니다.. 그리..

오늘은 @StateObject와 @ObservedObject의 차이에 대해서 알아보려고 한다. @StateObject와 @ObservedObject의 등장 배경 기존의 @ObservedObject는 SwiftUI가 View를 다시 랜더링 할 때 의도하지 않은 초기화가 발생하는 문제가 존재했다. 그리고 이 문제를 해결하기 위해서 @StateObject가 나왔다 ! 다음과 같은 view를 만들어보면서 !! 둘의 차이와 언제 무엇을 사용해야 하는지 알아보자. ObservableObject -> ViewModel 만들기 우선 ObservableObject 프로토콜을 준수하여 ViewModel을 만든다. 이제 이 RiverViewModel을 바라보고 있는 객체는 @Published Attribute로 선언된 da..