Model: 내가 만든 어플리케이션이 무엇인가(ex: 계산기에서 실질적으로계산을 하는부분 곱셈같은것)
Controller: 모델이 스크린에 어떻게 그려지는지 표현
View: 컨트롤러의 하위 종속자
Model과 View는 절대 소통 불가
View의 각각의 객체들이 컨트롤러에게 어떠한 책임을 위임(delegate)
delegate: 뷰안에있는 프로퍼티
dataSource: 뷰는 자신이 보여주고있는 데이터를 소유할 수 없다. 그래서 컨트롤러에게 매번 물어본다. 그럼 컨트롤러는 Model에서 데이터를 가져온다 이것도 위임(delegate) 과정으로 이뤄지는데 여기 쓰이는 delegate를 dataSource라고 부른다
모델에 채널을 고정하고 있는것은 컨트롤러이고 컨트롤러는 데이터를 화면에 보여주기 위해 일반화 되어있는 뷰를 설정
일반적으로 iOS에선 MVC한개가 아이폰 한개의 화면을 제어한다. 아이패드화면에서는 두개나 세개의 화면을 제어
기본적으로 MVC는 또다른 MVC의 뷰 일부로서만 일할 수 있다
Controller는 View를 위해 Model을 해석해준다. 반대로 Model을 위해 View에 들어간것을 해석하기도 한다
View들은 Controller의 부하
'앱 > iOS(Swift)' 카테고리의 다른 글
[Swift] Initialization (0) | 2022.01.28 |
---|---|
[Swift] Tuples, Range (0) | 2022.01.27 |
[iOS] 앱 생명주기 (0) | 2022.01.23 |
[Swift] Type Casting (0) | 2022.01.23 |
[Swift] for in, forEach 차이 (0) | 2022.01.23 |
댓글