2012-01-16 3 views
1

, 내가있는 UITableViewController자기가 어떻게 상속에 할당 되었습니까? 아이폰 OS SDK를 사용하여

@interface MyViewController : UITablewViewController 

@end 

의 서브 클래스있는 UITableViewController의 데이터 소스 및 위임 속성이 자동으로 MyViewController로 설정 얻을 수 있습니다.

왜 이러한 일이 발생하는지 잘 모르겠습니다. UITableViewController 인스턴스는 초기화 될 때 '자체'라고 생각했으며 하위 클래스는 초기화하지 않습니다.

위임자와 데이터 소스가 UITableViewController가 아닌 하위 클래스를 가리키는 방식을 설명 할 수 있습니까?

감사

+0

우리에게 몇 가지 코드를주십시오 그래서 우리는 당신이 우리 자신을 위해 무엇을하는지 볼 수 있습니다. –

답변

1

내가 아주 간단한 단어에 넣어하려고한다

  1. 당신은있는 UITableViewController 자체가 당신의있는 UITableViewController 하위 클래스의 객체를 생성하고 있지 않습니다.

  2. 대리인과 dataSource는 테이블 뷰를 화면에 표시하는 viewController를 가리 킵니다 (일반적으로 완료 됨).

  3. 이제는 모든 delegate 및 dataSource 메서드가이 viewController에서 호출됩니다.

애플의 this sample code을 살펴보십시오. 다행히도 이것이 더 명확 해지기를 바랍니다.

0
자체에 MyViewController에서 UIViewController에
을 2.Make있는 UITableViewController의 객체에서 this-

1.Inherit MyViewController처럼
3. 위임 및 데이터 소스 속성을 코드를 변경

.

코드 :

MyViewController.h

@interface MyViewController : UIViewController 

    @end 

MyViewController.m 내가 당신을 도울 것이라고 생각

@implementation MyViewController 
     -(void)viewDidLoad{ 
     UITableViewController *tableView = [[UITableViewController alloc]init]; 
     tableView.delegate = self; 
     tableView.datasource = self; 
     } 

     ---------- 
    @end 

...