UITableView суперкласс для делегата? - PullRequest
2 голосов
/ 11 мая 2010

Быстрый вопрос, я задаю делегат для UITableView, и у меня есть вопрос, касающийся настройки свойств делегата и источника данных. Я заметил, что свойства для делегата и источника данных недоступны, я думал, что принятие протоколов сделает их доступными. Но сейчас я думаю, что, возможно, у меня неправильный суперкласс для моего класса делегатов.

В настоящее время у меня есть:

-(void)viewDidLoad {
    TestDelegate *tempDelegate = [[TestDelegate alloc] init];
    [self setMyDelegate:tempDelegate];
    // setDelegate
    // setDataSource
    [tempDelegate release];
    [super viewDidLoad];
}

Мой интерфейс для TestDelegate выглядит так:

@interface TestDelegate : NSObject <UITableViewDelegate, UITableViewDataSource> {
    NSArray *listData;
    int myCounter;
}

Могу ли я спросить, должно ли быть выше:

@interface TestDelegate : UITableView <UITableViewDelegate, UITableViewDataSource> {
    NSArray *listData;
    int myCounter;
}

1012 * Гэри *

РЕДАКТИРОВАНИЕ: Я думаю, что это может быть на правильном пути: мой суперкласс делегата должен быть NSObject, у меня также есть UITableView в Интерфейсном Разработчике.

Я добавил @property (nonatomic, retain) IBOutlet UITableView * myTableView; в Xcode и подключил это к моему UITableView в IB. Теперь я могу получить доступ к свойствам делегата и источника данных в Xcode через IBOutlet.

1 Ответ

3 голосов
/ 11 мая 2010

Нет , есть разница между подклассами UITableView и простым соответствием UITableViewDelegate или UITableViewDatasource протоколам.

Вы бы хотелиподкласс UITableView, если вам нужно другое поведение в самом табличном представлении.-> В большинстве случаев вы не захотите делать это .

UITableView имеет свойство delegate и dataSource, вы можете назначить его объекту, который соответствуетсоответствующий протокол.

Если вы хотите иметь доступ на верхнем уровне к свойствам delegate и dataSource, вам необходимо создать подкласс UITableViewController. (не соответствуютделегировать протоколы, если вы подкласс UITableViewController)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...