반응형

MVVM 2

[iOS] MVVM Pattern

MVVM Pattern MVVM M : Model → Data V : View (ViewController) → Presentation Logic 위치 VM : ViewModel → Business Logic 위치, UI 관련 코드는 존재하지 않음 (→ import UIKit ❌ ) 조금 풀어서 설명해보면 뷰 모델은 모델을 알지만 모델은 뷰 모델을 알지 못한다. 뷰는 뷰 모델을 알지만 뷰 모델은 뷰를 알지 못한다. → 결국, UI와 Presentation Logic, Business Logic을 분리하고자 하는 게 MVVM 아키텍처라 할 수 있다. 그래서 MVVM Pattern으로 작성된 프로그램은 명확한 테스트가 가능하다. 실제로 프로젝트에 적용해보니.. 최근 회사에서 프로젝트를 리팩토링할 수 있는 기..

Programming/iOS 2021.10.08

[RxSwift] 4시간 안에 빠르게 익혀 실무에 사용하기 시즌 2- 내용정리!

RxSwift 강의 자료 iamchiwon/RxSwift_In_4_Hours [1교시] 개념잡기 - RxSwift를 사용한 비동기 프로그래밍 onLoad() - LOAD 버튼을 누르면 상단 시간이 멈추고, 버튼도 눌린 상태에서 멈췄다가 json을 모두 다운로드하면 시간이 다시 흘러간다. → 👋왜 멈출까? 동기로 동작하기 때문, 비동기로 바꿔줘야 한다. → 해당 함수에서 서버 호출 부분을 DispatchQueue.global().async{} 로 감싸 준다. → 👋오류가 발생한다. iOS에서 UI 변경은 main Thread에서 해야 한다. 코드 중 UI를 변경하는 부분을 main Thread에서 하도록 변경한다. → 시간도 멈추지 않고, indicator도 떴다가 사라진다. 비동기 프로그래밍 다른 쓰레드..

Programming/iOS 2020.04.24
728x90
반응형