해결된 질문
24.02.26 19:51 작성
·
182
0
안녕하세요강사님
WPF에서는 자동바인딩이 제공되기때문에 MVVM을 사용하는데있어서 이점이있다고 말씀을해주셨고 iOS에서는 자동바인딩을 시스템레벨에서 제공해주지않기때문에 그런점에서 iOS의 MVVM패턴은 등장배경에서의 이유로 쓰이고있는지 고민해봐야한다고 말씀을 해주셨는데 여기서 궁금한점이 combine의 published는 uikit에서도 사용이가능하고 이는 combine이라는 도구를 시스템레벨에서 제공해주기때문에 combine의 등장으로 자동바인딩이 iOS에서도 제공된다고 할수있는게 아닌가라는 생각이들었습니다
결국 $를 통해 binding변수로 만들어주면 해당 published변수의 변화에따라 view가 업데이트되니까 이런점에서는 uikit도 시스템레벨에서 자동바인딩을 지원한다라고 말할수있는게아닌가라는 생각이들었습니다
혹시 이부분에대해서 강사님의 생각이 궁금합니다!
답변 1
0
2024. 02. 26. 20:11
iOS 개발자들이 Combine을 뷰와 뷰모델 간의 데이터바인딩 용도로도 사용하는 것이 Combine이 데이터바인딩을 지원하기 위해 만들어진 것임을 의미하지는 않습니다. RxSwift와 마찬가지로 Combine은 보다 다양한 용도로 사용하는 API입니다.
공식문서에는 Combine을 다음과 같이 한 줄로 소개하고 있습니다.
Customize handling of asynchronous events by combining event-processing operators.
Combine을 굳이 특정 패러다임이나 아키텍처와 연관지어서 설명해야 한다면 MVVM 보다는 리액티브 프로그래밍과 연관지어서 설명하는 것이 타당합니다. 그리고 제가 모르는 내용이 있을수도 있겠지만 리액티브 프로그래밍과 MVVM은 직접적인 관계를 찾기 어렵습니다.