[iOS/WWDC23] viewIsAppearing() 알아보기
·
iOS/💻 iOS Study
WWDC23에서 발표된 새로운 생명주기 메서드에 대해 알아봅시다. 23년에 발표되긴 했지만 iOS 13부터 적용이 가능하다. viewIsAppearing()은 viewWillAppear()가 호출된 후, viewDidAppear() 호출 전에 호출되는 메서드이다. viewWillaAppear()에서는 아직 뷰가 올라오기 전이고, viewIsAppearing()에서는 뷰가 뷰의 계층 구조 상에 올라온 후 호출된다. 때문에 viewIsAppearing()에서는 뷰의 크기나 초기 기하구조를 다루는 코드를 에서 수행할 수 있다. 그렇다면 viewDidAppear()시점에 수행해도 되는 것이 아닌가? viewDidAppear()도 사용자의 눈에 뷰가 보이기 전에 뷰를 다룰 수 있지만 사용자에게 보여지기 직전이기 ..
[iOS/ReactorKit] ReactorKit 알아보기
·
iOS/💻 iOS Study
최근 프로젝트에서 적용한 ReactorKit에 대하여 정리해보고자 한다. 이전에 RxSwift + MVVM Input-Output 패턴을 적용하여 개발했는데, ReactorKit 구조와 비슷하다는 이야기를 들어서 한 번 적용해보았다. 특징 단방향 흐름을 가진 반응형 프레임워크이다. RxSwift와 필수적으로 함께 사용된다. RxSwift의 Observable을 통해 비동기적으로 데이터를 처리하고, 사용자의 이벤트 처리와 UI 업데이트 쉽게 관리할 수 있다. View와 Reactor로 구성되어있고, Reactor가 ViewModel과 같은 역할을 한다. 네트워크 통신이나 db 접근 등 비즈니스 로직을 구성하게 된다. 기본 동작(➡️단방향 흐름➡️) Reactor에는 View에서 받은 Action과 작업(M..
RxSwift 왜 사용??
·
iOS/💻 iOS Study
RxSwift가 뭐야? Reactive Programming in Swift 반응형 프로그래밍? 데이터의 흐름이나 변경사항에 따라 처리하는 프로그래밍 방식 주변 환경과 끊임없이 상호작용을 하는 프로그래밍 외부의 변화에 끊임없이 반응하고 처리한다. 명령형 프로그래밍은 개발자에 의해 작성된 코드가 순서대로 처리되는 방식이라 하면 반응형 프로그래밍은 순서에 상관없이 이벤트 발생 순서에 따라 처리한다. RxSwift는 Swift를 반응형프로그래밍 방식으로 사용할 수 있도록 만들어진 라이브러리 RxSwift를 왜 사용? ✔️ 비동기 작업을 동기적으로 처리할 수 있다. 우리는 swift에서 비동기 작업이 완료 된 후 처리 해야하는 작업이 있을 때 주로 Notification, Delegate Pattern, Clo..
[Swift] DI 의존성 주입
·
iOS/💻 iOS Study
[23.12.12 SeSAC 수업 내용 정리] 의존성 주입 쉽게 이해하기! 브랜 주방장이 브랜 반점이라는 음식점을 열었고, 휴님은 점심 식사로 브랜 반점의 메뉴를 먹는다. 휴님 → 브랜반점 의존관계 브랜반점 → 브랜 의존관계 하위 모듈인 브랜반점에서 메서드 이름을 변경하는 순간 상위 모듈인 휴님 클래스에서 오류가 발생한다. 하위 모듈인 브랜 클래스에서 메서드 변경 시 브랜 클래스를 사용하고 있는 모든 클래스에서 오류가 발생한다. 오류를 해결하기 위해 해당 클래스를 사용하고 있는 상위 모듈에서 변경 사항을 수정해야 한다. B가 변화했을 때, A에게 영향을 미친다. ⇒ A가 B를 의존한다. 상위 모듈에서 의존하는 인스턴스를 변경했을 때 상위 모듈 내부에서 오류가 발생한다. 휴님(상위 모듈) → 브랜반점(하위..