Apple🍎/Combine
-
SwiftUI View 안에서 직접 발행, 구독 관리 방법Apple🍎/Combine 2025. 3. 13. 20:47
배경 최근에 SwiftData를 사용해서 프로젝트를 진행하였는데요. 데이터의 읽을 때는 @Query를 사용하면 SwiftUI 뷰 라이프 사이클에 맞춰 알아서 조회를 해주고 변경사항이 생기면 알아서 변경사항을 감지했다가 이를 db에 반영해 주니뷰에 보여줄 정보를 관리하기 위한 별도의 viewModel 계층이 굳이 필요 없겠다는 생각이 들었습니다. 너무 과도한 계층 분리의 쓸모에 대해 생각하던 와중이었기 때문에 "아예 ViewModel을 두지 않고 View에서 모든 걸 처리하자"를 콘셉트로 프로젝트를 진행하였습니다. 문제 상황특정 프로퍼티를 변경을 감지하는 로직이 필요했기 때문에 Combine을 이용해 발행자와 onChange를 조합하여 사용하려고 했습니다. 따라서 발행자와 구독 관리가 필요해졌는데 평소 같..