2012-08-28 2 views
1

Model-View-Controller 패턴에 따르면 Cocoa Touch에 많이 적용되는 UIViewController는 장면의 구체적인 UIView가 작동하는 방식의 논리를 항상 처리해야합니다.MVC 패턴을 따르는 UITableView 구현

이 철학에 부합하면서 Apple이 UITableView 클래스를 어떻게 구현하는지 궁금합니다. 특히 UITableView는 UIScrollView 및 UIView에서 차례로 상속됩니다.

클래스 중 하나에 UITableView를 추가하면 UIViewController가 백그라운드에서 동작하는 방식을 처리합니까? UITableViewDelegate는 얼마나 많은 행을 가져야하는지 테이블에 알려주는 역할을 담당합니다.하지만 내부 동작은 어떨까요?

답변

1

나는 정말로 당신의 질문을 따를 지 모르겠다. UITableView을 추가 할 때 핸들러와 렌더러를 제어하는 ​​컨트롤러가 있어야합니다. 및 UITableViewDatasource을 구현하는 UITableViewController 또는 UIViewController입니다. 당신이하지 않으면 당신은 그것이 무엇을 제어 할 수있는 방법이 없습니다.

+0

예, 알고 있습니다. UITableView가 실제로 어떻게 움직이는지를 결정하는 기하학적 계산을 누가하는지 묻습니다. 실제로 위임 메소드를 호출하는 책임자는 누구입니까? 등이 책임은 실제 UITableView 클래스에 속해 있습니까? –

+0

드로잉은 UIView 클래스에있는 drawRect 메서드에서 수행되므로 그리는 방법을 처리하는 뷰 자체임을 의미합니다. 모든 레이아웃 코드가 표시되도록 컨트롤러가 뷰를 표시합니다. 예를 들어 데이터와 사용자 액션에 응답하는 방법을 컨트롤러가 알려줍니다. – 8vius

+0

이것은 MVC의 원칙을 어 기지 않는가? 예를 들어, UIViewController는 UIViewController를 위임 할 때 UITable에 메서드를 호출해야한다고 말하면 안됩니까? –

관련 문제