Как использовать буксировку UITableViews на iPad, используя тот же вид и делегирование? - PullRequest
0 голосов
/ 16 февраля 2011

Если я хочу использовать два UITableView в одном и том же представлении на iPad, и я пытаюсь установить разные теги для каждого из них.

Могу ли я использовать один и тот же делегат?Поскольку я пытаюсь судить их по номеру тега, все равно ничего не получается.

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    if(tableView.tag==0){
        return [array1 count];}

    else if(tableView.tag==1){
        return [array2 count];}
}

или просто могу использовать один UITableView для одного представления?

1 Ответ

3 голосов
/ 16 февраля 2011

Почему бы не хранить и не сравнивать указатели таблиц

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    if(tableView == myTableView1){
        return [array1 count];}
    else if(tableView == myTableView2){
        return [array2 count];}
}

Сделайте то же самое с остальными методами делегата и источника данных.

Для этого просто добавьте 2 IBOutlets в ваш класс и подключите их в InterfaceBuilder к вашим таблицам.

@property (nonatomic, retain) IBOutlet UITableView* myTableView1;
@property (nonatomic, retain) IBOutlet UITableView* myTableView2;

Только не забудьте выпустить их в -dealloc:

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