Untitled

네트워킹 할때 로컬 데이터 저장소랑 이사소통을 할수 ㅇㅆ는 매니저는 싱글톤패턴으로 만들면 된다,

커뮤니케이션 하는 객체가 하나만 있으면 되기때문에 일반적인 화면이 model에 접근해서 비지니스 로직을 다루는 모델 자체가 로컬데이터저장소하고만 커뮤니케이션을 하면 되기때문에 싱글톤으로 만들면 된다.

MVC패턴이란?

MVC 패턴은 애플에서 기본적으로 지원하는 디자인 패턴으로, Model + View + Controller 구조의 아키텍처 패턴을 말한다.

Untitled

Model은 앱의 데이터와 비즈니스 로직을 갖고 있다.(즉 일기 앱이면 앱은 날짜와 메모 사항을 저장하고, 이를 모델에서 정의하는 것이다.)

여기서 오해될 만한 사항이, UI를 관리하는 변수는 Model이 갖는 것이 아니다. ViewController에서 갖는다.

예를 들면 제목 라벨을 보여줄지 말지에 대해서는 앱의 데이터에 대한 모델이 아니라 뷰에 대한 데이터 이므로

MVC에서 뷰의 영역이 뷰컨트롤러에서 소유하고 관리하는 것입니다.

(즉 MVVM이면 이경우 viewcontroller나 viewModel이 갖게 됩니다. MVVM은 뷰영역이 뷰컨, 뷰, 뷰모델 세개로 많음) UI와 독립되어 있습니다.

View는 사용자에게 데이터를 보여주거나 UI를 담당한다.

UIButton, UIViewController, UILabel와 같은 UI와 관련된 것이고 Controller의 통제를 받게 됩니다.

-> 뷰는 일단 간단한 뷰들은 uikit에서 쉽게 제공합니다. 위의 UILabel처럼,

Controller어떻게 화면에 표시할 것인지에 대해 관심을 가집니다. -> 주로 model을 여기에서 생성하여, 변수(데이터)를 set 하거나 get합니다. Model과 View의 중간다리 역할로 View로부터 사용자의 action을 받아 Model에게 어떤 작업을 해야 하는지 알려주거나, Model의 데이터 변화를 View에게 전달하여 View를 어떻게 업데이트할지 알려준다.

모델과 뷰틑 직접적으로 연결되지않는다.