iOS/iOS

iOS) UIViewController

Brad_Heo 2022. 12. 6. 21:35

뷰 컨트롤러란??

UIKit 앱의 뷰 계층 구조를 관리하는 객체

-> "뷰 컨트롤러는 앱의 근간을 이루는 객체로 모든 앱은 최소한 하나 이상의 뷰컨트롤러를 가지고 있는다."

뷰 컨트롤러의 주된 역활

  • 일반적으로 기본 데이터의 변경에 대한 응답, 뷰의 내용을 업데이트 합니다.
  • 뷰와의 사용자 상호 작용에 응답
  • 뷰 크기 조정 및 전체 인터페이스 레이아웃 관리
  • 앱에서 다른 뷰 컨트롤러를 포함한 다른 개체와의 조정

-> 윈도우 객체로 부터 전달된 이벤트를 받아, 내부적으로 구현된 비즈니스 로직을 실행하고, 그 결과로 얻어진 데이터를 콘텐츠를 만들어 화면에 표현하는 등, 모바일 애플리케이션에서 뷰 컨트롤러는 우리가 하는 대부분의 작업들의 중심에 있다고 생각할 수 있다.

뷰 컨트롤러의 종류

ViewController

  • iOS에서 가장 기본이 되는 컨트롤러.
  • 앱의 데이터를 표시될 외형을 연결해서 하나의 동적인 화면을 만들어 내는 컨트롤러

Navigation Controller

  • 앱의 화면 이동에 대한 관리와 그와 연관된 처리를 담당해주는 컨트롤러
  • 내부적으로 다른 컨트롤러를 포함하여 컨트롤러끼리 화면 이동을 처리해주고, 현재의 페이지 위치에 대한 네비게이션 역활함
  • 뷰를 포함하고 있지 않으므로 하나의 화면을 담당하지 못하고, 다른 컨트롤러와 결합하여 부분적으로 화면을 구성
  • 이 컨트롤러가 추가된 Scene 상단에는 네비게이션 바가 추가됨
  • 네비게이션 컨트롤러를 정의하는 UIKit 프레임워크의 클래스는 UINavigtaionController

TableView Controller

  • 내부에 리스트 형식의 테이블 뷰를 포함하고 있어 여러 항목이나 데이터를 화면에 나열하기 위한 목적으로 사용되는 컨트롤러
  • 테이블 뷰 컨트롤러에 해당하는 UIKit 프레임워크는 UITableViewController 클래스
  • 테이블 뷰 컨트롤러를 이용한 화면을 구성하기 위해서는 UITableViewController 를 상속받아 추가 구현하는 작업이 필요함
    → delegate와 dataSource를 상속받아 메서드를 구현해야 함.

나머지

  • TabBar Controller
  • Split ViewController

'iOS > iOS' 카테고리의 다른 글

iOS) XCFramework 생성  (0) 2024.04.22
음성 녹음, 재생  (0) 2023.09.04
iOS) UIVisualEffectBackdropView 제거  (0) 2023.07.17
iOS) 프레임워크와 라이브러리에 대해서  (0) 2022.10.19