Когда сохранять ссылку на UITableView

#iphone

#iPhone

Вопрос:

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

 UITableViewcontroller *contentView = [[UITableViewController alloc] initWithSytyle:UITableViewStylePlain];
contentView.tableView.delegate = self;
contentView.tableView.datasource = self;
[contentView release];
 

Как мне проверить, является ли это этим TableView или другим TableView в методах делегата UITableView и источника данных? Должен ли я иметь переменную экземпляра для этого TableView, которая всегда указывает на нее для этих методов делегирования и источника данных? Спасибо.

Комментарии:

1. Сколько табличных представлений у вас есть в этом ViewController? Обычно существует только один tableview.

Ответ №1:

Вы можете использовать свойство тега. В вашем коде

 UITableViewcontroller *contentView = [[UITableViewController alloc] initWithSytyle:UITableViewStylePlain];
contentView.tag == 10;//add this line in your code
contentView.tableView.delegate = self;
contentView.tableView.datasource = self;
[contentView release];
 

затем в вашем методе делегирования или методах источника данных проверьте

 if(view.tag == 10)
{
//do stuff
}
 

Ответ №2:

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