뷰 컨트롤러란??
UIKit 앱의 뷰 계층 구조를 관리하는 객체
-> "뷰 컨트롤러는 앱의 근간을 이루는 객체로 모든 앱은 최소한 하나 이상의 뷰컨트롤러를 가지고 있는다."
뷰 컨트롤러의 주된 역활
- 일반적으로 기본 데이터의 변경에 대한 응답, 뷰의 내용을 업데이트 합니다.
- 뷰와의 사용자 상호 작용에 응답
- 뷰 크기 조정 및 전체 인터페이스 레이아웃 관리
- 앱에서 다른 뷰 컨트롤러를 포함한 다른 개체와의 조정
-> 윈도우 객체로 부터 전달된 이벤트를 받아, 내부적으로 구현된 비즈니스 로직을 실행하고, 그 결과로 얻어진 데이터를 콘텐츠를 만들어 화면에 표현하는 등, 모바일 애플리케이션에서 뷰 컨트롤러는 우리가 하는 대부분의 작업들의 중심에 있다고 생각할 수 있다.
뷰 컨트롤러의 종류
ViewController
- iOS에서 가장 기본이 되는 컨트롤러.
- 앱의 데이터를 표시될 외형을 연결해서 하나의 동적인 화면을 만들어 내는 컨트롤러
Navigation Controller
- 앱의 화면 이동에 대한 관리와 그와 연관된 처리를 담당해주는 컨트롤러
- 내부적으로 다른 컨트롤러를 포함하여 컨트롤러끼리 화면 이동을 처리해주고, 현재의 페이지 위치에 대한 네비게이션 역활함
- 뷰를 포함하고 있지 않으므로 하나의 화면을 담당하지 못하고, 다른 컨트롤러와 결합하여 부분적으로 화면을 구성
- 이 컨트롤러가 추가된 Scene 상단에는 네비게이션 바가 추가됨
- 네비게이션 컨트롤러를 정의하는
UIKit
프레임워크의 클래스는UINavigtaionController
TableView Controller
- 내부에 리스트 형식의 테이블 뷰를 포함하고 있어 여러 항목이나 데이터를 화면에 나열하기 위한 목적으로 사용되는 컨트롤러
- 테이블 뷰 컨트롤러에 해당하는
UIKit
프레임워크는UITableViewController
클래스 - 테이블 뷰 컨트롤러를 이용한 화면을 구성하기 위해서는
UITableViewController
를 상속받아 추가 구현하는 작업이 필요함
→ delegate와 dataSource를 상속받아 메서드를 구현해야 함.
나머지
- TabBar Controller
- Split ViewController
'iOS > iOS' 카테고리의 다른 글
iOS) Universal link (0) | 2024.12.12 |
---|---|
iOS) XCFramework 생성 (0) | 2024.04.22 |
음성 녹음, 재생 (0) | 2023.09.04 |
iOS) UIVisualEffectBackdropView 제거 (0) | 2023.07.17 |
iOS) 프레임워크와 라이브러리에 대해서 (0) | 2022.10.19 |