https://developer.apple.com/documentation/uikit/uitableviewcontroller
"A view controller that specializes in managing a table view."
테이블 뷰 관리에 특화된 뷰 컨트롤러입니다.
@MainActor class UITableViewController : UIViewController
인터페이스가 테이블 뷰를 구성하고 있고 다른 컨텐트가 적거나 없을 때 UITableViewController
를 서브클래싱하시기 바랍니다. 테이블 뷰 컨트롤러는 이미 테이블 뷰 컨텐트 관리 및 변경사항 응답에 필요한 프로토콜을 채택하고 있습니다. UITableViewController
는 아래 동작을 구현하고 있습니다..
tableView
속성을 사용해서 테이블 뷰에 접근할 수 있습니다.viewWillAppear(_:) 메소드를 구현하고 첫 번째 모습에서 테이블 뷰에 대한 데이터를 자동으로 다시 로드합니다. 테이블 뷰가 표시될 때마다 선택(애니메이션이 존재 여부는 상관없이 요청에 의존하는)을 지웁니다.
clearsSelectionOnViewWillAppear` 속성에서 값을 변경시켜 이 동작을 비활성화할 수 있습니다.viewDidAppear(_:)
메소드를 구현하고, 처음으로 나타날 때 자동으로 테이블 뷰의 스크롤 인티케이터가 깜빡입니다.setEditing(_:animated:)
메소드를 구현하고, 사용자가 네비게이션 바에서 편집/완료 버튼을 탭할 때 자동으로 테이블의 편집 모드를 토글합니다.관리하는 각각의 테이블 뷰에 UITableViewController
의 커스텀 서브클래스를 새엉할 수 있습니다. 테이블 뷰 컨트롤러를 초기화할 때 테이블 뷰의 스타일(plain 혹은 grouped)을 구체화 해야 합니다. 데이터로 테이블을 채우기 위해 필요한 데이터 소스 및 딜리게이트 메소드 또한 오버라이드 해야 합니다. loadView()
혹은 다른 슈퍼클래스 메소드를 오버라이드 할 수도 있습니다. 만약 그렇게 하는 경우 메소드의 슈퍼클래스 구현 호출을 확실히 해야 하며, 보통 첫 번째 메소드 호출로 합니다.
스토리보드에 뷰 컨트롤러를 빌드하고, 커스텀 뷰와 함께 설정하며, 앱 데이터로 해당 뷰를 채웁니다.
https://developer.apple.com/documentation/uikit/view_controllers/displaying_and_managing_views_with_a_view_controller
https://velog.io/@panther222128/Displaying-and-Managing-Views-with-a-View-Controller
다른 테크닉을 사용해서 뷰 컨트롤러를 표시합니다. 그리고 뷰 컨트롤러 사이에 전환이 진행되는 동안 데이터를 전달합니다.
https://developer.apple.com/documentation/uikit/view_controllers/showing_and_hiding_view_controllers
https://velog.io/@panther222128/Showing-and-Hiding-View-Controllers
UIKit 앱의 뷰 계층구조를 관리하는 객체입니다.
https://developer.apple.com/documentation/uikit/uiviewcontroller
https://velog.io/@panther222128/ViewController
컬렉션 뷰 관리에 특화된 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uicollectionviewcontroller
https://velog.io/@panther222128/UICollectionViewController