Indexpath в методах делегата tableview, имеющих разные значения - PullRequest
0 голосов
/ 05 января 2012

Я пытаюсь взять контакты из моей адресной книги. Я показываю данные на моем табличном представлении. Для этого сначала я устанавливаю высоту ячейки таблицы.

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

и после этого я реализую

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

Я пишу условия и логику внутри этих методов делегата. Но я сталкиваюсь с проблемой, когда значение пути индекса в обоих методах различно. Из-за этого, пока я зацикливаюсь на адресной книге (внутри этих методов), оба метода делегата выполняются в другом порядке. Почему путь индекса имеет разные значения в обоих случаях

1 Ответ

2 голосов
/ 05 января 2012

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath вызывается только перед появлением ячейки

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath вызывается для всех строк при представлении таблицы для получения общей высоты содержимого таблицы.

И я также должен согласиться с комментарием @Vince, что единственное, о чем вы должны заботиться, это то, что методы возвращают правильное значение в соответствии с заданным индексным путем.просмотр таблицы, например, NSArray.Затем просто получите правильный объект из этого массива в соответствии с indexpath.

...