teunteun2
[Swift] Foundation, UIKit Framework에 대해 (+ UIViewController & UIView의 차이) 본문
[Swift] Foundation, UIKit Framework에 대해 (+ UIViewController & UIView의 차이)
teunteun2 2022. 3. 16. 00:00만약 Foundation & UIKit 프레임워크의
상위 프레임워크인 Cocoa Touch에 대해 궁금하시다면
바로 전 포스팅을 참고해주세요 !
https://teunteun2.tistory.com/2
1. Foundation Framework
앱 기능 구현을 위해 필요한 데이터 타입(Int, String 등), 컬렉션(Array, Dictionary),
파일 & 데이터 관리, 네트워킹 시스템, 타이머 등이 포함되어 있는 프레임워크
https://developer.apple.com/documentation/foundation
2. UIKit Framework
이벤트 기반 사용자 인터페이스를 제공하는 프레임워크
https://developer.apple.com/documentation/uikit
UIKit Framework에는 익숙한
여러 UI 객체들이 있습니다!
예를들어 UIViewController, UIView, UIButton 등...
UIKit 계층구조와 함께 자세히 볼까요 ?
2-1. UIKit 계층구조
UIKit 계층구조를 보면 맨 위에
'Cocoa Framework 내 모든 클래스의 루트 클래스'인
NSObject가 있습니다
그리고
UserInterface와 직접적인 연관이 있는
UIKit이기 때문에 모든 클래스 앞에
UI가 붙어있어요
우리에게 익숙한 UI 객체들은
UIResponder 하위에 있는 것을 확인할 수 있죠 ?
그중에서도 가장 익숙하지만 처음 접한다면 헷갈리기 쉬운
UIViewController, UIView에 대해
정확히 짚고 넘어갈게요 !
2-2. UIViewController & UIView
UIViewController(이하 뷰컨) 와 UIView는 모두
UIResponder의 개체로, 둘의 관계는 상속 관계가 아닙니다.
이름만 들어보면 뭔가 상속 관계일 것 같은데 말이죠 ..
각 뷰컨은 하나의 Root View를 관리하고
그 Root View가 하위에 여러 UIView를
가질 수 있는 구조로 되어 있습니다.
이게 무슨 말이냐고요 ?
UIViewController 코드로 들어가보면
하나의 UIView가 정의되어 있는데요,
이게 바로 Root View 라고 볼 수 있습니다
우리가 Storyboard에서
UIViewContoller 위에 UIView를 얹거나
UIButton, UITextField 등의 UI 오브젝트들을 얹게 되는데요,
이렇게 하면 우리는
UIViewController의 Root View 위에
하위 오브젝트들을 넣어주게 되는 것이죠 !
따라서 뷰컨은 자신의 Class 의 view속성에 저장된
UIView 계층을 관리한다고 정리할 수 있겠네요 : )
'iOS' 카테고리의 다른 글
[iOS] Stack View 내의 Stack View 구조로 연습해보기 (1) | 2022.04.10 |
---|---|
[RxSwift] Observable & Observer & Dispose를 이해해보자 (0) | 2022.04.08 |
[Swift] required init?(coder: NSCoder) & override init(frame: CGRect) (0) | 2022.04.06 |
[Swift] Cocoa Touch Framework | Cocoa | NSObject 에 대해 (0) | 2022.03.15 |
[Swift] iOS의 특징 4가지 (0) | 2022.03.14 |