iOS 앱을 개발하면서 얻은 지식과 깨달음, 그 과정에서 겪은 시행착오를 공유합니다.Contents 1. 백그라운드 스레드와 메인 스레드 간 전환 2. 의존성 주입(Dependency Injection)유연성테스트 용이성단일 책임 원칙확장성재사용성 3. SwiftUI View에서 ViewModel 사용 아이폰 캘린더(달력) 앱 스케줄러에서는 사용자가 좌우 스와이프로 '월'을 이동할 수 있다. 달력에 표시해야 하는 데이터가 적을 때는 크게 눈에 띄지 않지만, 데이터가 많아지면 움직임이 월을 이동하면서 살짝 끊기는 현상이 생긴다. 이 문제의 원인 중 하나를 월 이동 시 데이터 조회(Data Fetching) 같은 시간이 오래 걸리는 작업을 메인 스레드(Main Thread)에서 수행하고 있기 때문으로 추측하..