ToDo
✅ udemy 완강 끄읕
✅ 패캠 강의
✅ 운동

 

가을은 어디갔죠...? 하ㅏㅎ... 날씨가 이리 추울 수 있나요ㅋㅋ 열어분 모두 감기 조심하세요~~
또 건조해져서 가습기가 없으면 안되는 계절이 왔네요...

오늘은 이것저것 자기소개서 쓰고 저를 밀어붙이기 위해 구매했던 강의를 들었습니다~~

(강의는 구매당시의 의지가 불타오르고 그이후엔 점점 불씨가 꺼지는건 저만그런가여...?)

배운점

SwiftUI Property Wrappers

@State

SwuftUI에서 상태를 처리하는 방법

뷰의 상태를 저장하는 프로퍼티로 상태 관리 주체는 해당 뷰

기본적으로 private 선언, 다른 뷰와 값을 소통하려면 Binding을 이용

값이 변경될 때마다 UI Update

 

@Binding

뷰와 상태를 바인딩 하는 방법

상위 @State 변수를 전달 받아 하위 뷰에서 캐치해 변화 감지 및 연결

Binding은 다른 뷰가 소유한 속성을 연결. 따라서 소유권 및 저장 공간이 없음

 

ObservableObject)프로토콜

클래스 프로토콜로 관찰하는 어떠한 값이 변경되면 변경사항을 알려줌

뷰에서 인스턴스 변화를 감지하기 위해 뷰모델 객체로 생성할 때 사용할 수 있음

 

@Published

ObservableObject를 구현한 클래스 내에서 프로퍼티 선언 시 사용

@Published로 선언된 프로퍼티를 뷰에서 관찰할 수 있음

ObservableObject에서 objectWillChange.send() 기능을 @Published 프로퍼티가 변경되면 자동으로 호출

 

@ObservableObject

뷰에서 ObservableObject 타입의 인스턴스 선언 시 사용

ObservableObject의 값이 업데이트되면 뷰를 업데이트함.

 

@StateObject

뷰에서 ObservableObject 타입의 인스턴스 선언 시 사용

뷰마다 하나의 인스턴스를 생성하며, 뷰가 사라지기 전까지 같은 인스턴스 유지

@ObservableObject의 뷰 렌더링 시 인스턴스 초기화 이슈 해결을 위한 방법

매번 인스턴스가 새롭게 생성되는것처럼 외부에서 주입 받는 경우가 아닌 최초 생성 선언 시에 @StateObject를 사용하는 것이 적절한 방법

 

@Enviroment

미리 정의되어 있는 시스템 공유 데이터

사용하려는 공유 데이터 이름을 keyPath로 전달하여 사용

시스템 공유 데이터는 가변하기에 var로 선언

뷰가 생성되는 시점에 값이 자동으로 초기화됨

 

@EnviromentObject

ObservableObject를 통해 구현된 타입의 인스턴스를 전역으로 공유하여 사용

앱 전역에 공통으로 사용할 데이터를 주입 및 사용

많이 의존하지 않기.

 

 

생각과 감정

오늘도 일찍 일어난 나에게 감사해🙏

급하게 말고 천천히 확실하게 가자🙏

나를 믿는 나에게 감사해🙏
감사함을 알려준 sAewoo에게 감사해🙏

 

앞으로의 계획선언

프로퍼티 래퍼를 간단하게 알아봤으니 Document를 보면서 공부를 해나가자 👏

 

'TIL' 카테고리의 다른 글

TIL_20231120  (0) 2023.11.20
TIL_20231114  (0) 2023.11.15
TIL_20231107  (0) 2023.11.07
TIL_20231006  (0) 2023.10.06
TIL_20230921  (0) 2023.09.21

+ Recent posts