1 . Cocoa touch Framework & UIKit
Cocoa Touch Framework
iOS 개발 환경을 구축하기 위한 최상위 프레임워크.
일반적으로 iOS 개발을 위해 ObjectC 혹은 swift 에서 상속하여 사용하는 대부분의 클래스 객체들이 모두 Cocoa touch framework에 포함된다.
이 중에서도 가장 많이 사용되는 것은 UIKit & Foundation 이다.
Foundation Framework
가장 기본적인 데이터 타입부터, 자료구조, 각종 구조체, 타이머, 네트워크 통신 등 기본적인 프로그램의 중심을 담당한다.
UIKit Framework
사용자의 인터페이스를 관리하고 이벤트를 처리하는 것이 주 목적인 프레임워크이다.
2 . MVC
UIKit 앱의 구조는 MVC 디자인 패턴을 사용한다.
Model
앱의 데이터와 비즈니스 로직을 담고 있다.
View
사용자에게 데이터를 보여주는 UI 담당한다.
Controller
뷰로부터 사용자의 액션을 전달받아서 모델에게 어떤 작업을 해야하는 지 알려주거나, 모델의 데이터 변화를 뷰에 전달하여 뷰를 어떻게 업데이트 해야 할지 알려준다.
그러나 현실의 MVC 패턴은 다음과 같다.
View 와 Controller가 강하게 연결되어 있어, View Controller가 거의 모든 일을 담당한다.
또한, View Controller에서는 Controller가 View의 LifeCycle에 관여하므로, View와 Controller을 분리하기 힘들다.
프로젝트 규모가 커질수록, Controller가 비대해지고 내부 구조는 복잡하게되어 유지보수가 힘들어진다.
→ 이러한 단점을 보완하고자 MVVM, Viper 패턴 등 다양한 디자인 패턴을 사용한다.
' iOS > UIKit' 카테고리의 다른 글
UIKit 계산기 Storyboard UI (0) | 2022.07.15 |
---|---|
UIStackView (0) | 2022.07.11 |
ViewController 간 데이터 전달 (0) | 2022.07.06 |
ViewController Life Cycle (0) | 2022.07.03 |
ViewController & AutoLayout (0) | 2022.06.30 |