SwiftUI 데이터 흐름 정복: @StateObject부터 @EnvironmentObject까지 (Prop Drilling 해결법)
·
Notes/Swift
SwiftUI로 앱을 개발하다 보면 가장 먼저 마주치는 고민이 바로 "뷰(View) 간의 데이터 전달"이다. 처음에는 단순하게 부모에서 자식으로 넘겨주면 되지만, 뷰의 계층이 깊어질수록(A -> B -> C) 고민은 깊어진다. 오늘은 CalendarViewModel을 예시로, 올바른 데이터 주입 방식과 깊은 계층 구조에서의 해결책을 정리해 본다.1. 가장 흔한 실수: 뷰 모델의 중복 생성보통 처음에는 뷰마다 뷰 모델이 필요하니 아래와 같이 작성하기 쉽다.// ❌ 잘못된 방법struct HomeView: View { // 여기서 또 초기화(... = CalendarViewModel())를 하면 안 된다! @ObservedObject var calendarViewModel = CalendarVie..