(iphone) как ссылаться на несколько табличных представлений - PullRequest
2 голосов
/ 23 ноября 2010

Привет, у меня есть представление, которое содержит 2 таблицы.

Для одного представления, я знаю, этот метод делегата может помочь мне заполнить содержимое каждой строки

  • (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath

Но так как у меня есть 2 просмотра таблиц, как я могу ссылаться на каждое из них и заполнять контент отдельно?

Спасибо за помощь!

Ответы [ 4 ]

2 голосов
/ 23 ноября 2010

«Текущее» табличное представление будет передавать указатель на себя в качестве аргумента при вызове методов его делегата, подобных тому, который вы упомянули.

Итак, все, что вам нужно сделать, это сравнить указатель (tableView) с ссылками на два представления таблицы, которые вы сохранили или добавили в качестве свойства ранее.

Продолжайте так же в своих методах делегата:

if (tableView == myFirstTableView) {
   //code to handle first tableview
} else if (tableView == mySecondTableView) {
   //code to handle second tableview
}

Редактировать: Для работы обеих таблиц должен быть один и тот же делегат, что в любом случае имело бы смысл, поскольку они отображаются в одном представлении.

1 голос
/ 23 ноября 2010

, поскольку у вас есть два табличных представления, поэтому вам нужно реализовать правильное условие if, где вам нужно, какое табличное представление будет отображаться. Сделайте IBOutlet для обоих столов.

, тогда теперь в поле зренияWillAppear

сделать источник данных для отображения (Массив данных) и

если (...) { firstTable.hidden = NO; secondTable.hiden = ДА; [firstTable reloadData]; } еще { secondTable.hidden = NO; firstTable.hidden = ДА; [[secondTable reloadData];

}

Теперь не беспокойтесь о каждом условии, для которого вам не требуется никаких условий в CellForRowAtIndexPath или didSelectRowAtIndexPath.

0 голосов
/ 23 ноября 2010

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

0 голосов
/ 23 ноября 2010

В дополнение к ответу Toastor выше, вы, конечно, можете устанавливать разные делегаты и источники данных для каждой таблицы, хотя чаще всего проще использовать один и тот же делегат / источник данных для всех NSTableViews в одном представлении.

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