【Swift】UITableView와 UITableViewController는 무엇이 다른가?

게시물에 대해 문득 의문에 생각해 Twitter로 중얼거리면 멋진 회답을 받을 수 있었으므로, 이쪽에 정리했다.

UITableView 및 UITableViewController 정보



구조의 차이



물론 ViewViewController 가 각각의 부모가 되고 있습니다.


UITableView
UITableViewController






UITableViewController의 특징



1. StaticCell 사용 가능


StaticCell 는 정적으로 고정된 셀, 즉 재사용하지 않는 셀입니다.
자주 예로 들 수 있는 것은 설정 화면으로 TableViewのようなセクションがある一覧を作りたいが、再利用する必要のない時 등에 사용합니다.

보통의 View로 TableView와 같은 레이아웃을 만드는 것은 상당히 귀찮습니다만, StaticCell 로 만들면 정말로 레이아웃의 구현 비용이 낮아집니다.

2. clearsSelectionOnViewWillAppear로 TableView의 선택 상태를 자동으로 클리어 해준다



전환처 화면에서 돌아왔을 때 선택 상태를 클리어하고 싶은 경우 등에 매우 편리합니다.UITableViewController 에는 clearsSelectionOnViewWillAppear 가 디폴트로 true 로 되어 있어, 그것을 위한 처리를 쓰지 않아도 화면이 표시될 때 선택 상태를 해제해 줍니다.
TableView 에서 같은 처리를 하고 싶은 경우는 viewWillAppear 등으로 그것용의 처리를 쓰게 됩니다. 그리기를 위한 데이터를 Model 등으로 해 두고, Model 유지한 선택 상태를 바탕으로 viewWillAppeardeselectRowAtIndexPathStaticCell 로 그린 경우는 Cell 숫자도 적기 때문에 모두 클리어 해 버리면 좋네요.

3. Cell에 UITaxtField 등을 놓았을 때, 키보드 표시시에 자동으로 입력란이 키보드 위에 오도록 스크롤 해 준다



키보드와 입력란의 위치 문제는 누구나 한 번은 만나는 문제가 아닐까요?
기본적으로 키보드의 높이를 취해 거기까지 Offset 를 변경해 스크롤 시키거나 하고 있다고 생각합니다.
그것이 UITableViewController 그렇다면 자동으로 해주는 것입니다. 작지만, 이것은 수수하게 편리하네요.

대체로 이런 곳이 아닐까요.
지금까지 별로.

코멘트받은 분들, 감사합니다 ✨

좋은 웹페이지 즐겨찾기