#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
свойство табличного представления, чтобы отслеживать, что есть что.