2012-05-19 6 views
0

Почему этот код возвращает ячейку?Как получить ячейку от UITableView

static NSString *cellIdentifier = @"Cell"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

Но когда я пытаюсь получить клетку с [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]] он не возвращает ничего. Кто-нибудь знает, как это возможно?

+0

Этот код повторно использует ячейки, которые уже созданы. Вы создали первую ячейку? – rdelmar

+0

Да, конечно. Я просто поставил второй код вместо первого теста. – Radislav

+0

[tableView numberofRowsInSection: 0] возвращается 7. – Radislav

ответ

1

В соответствии с Apple's documentation:

Возвращаемое значение

Объект, представляющий ячейку таблицы или ноль, если ячейка не видна или indexPath находится вне диапазона.

Так что если эта ячейка в настоящее время не видна, она вернет nil. Итак, это видно?

Кроме этого - убедитесь, что вы на самом деле создаете ячейки в cellForRowAtIndexPath:, поскольку вы специально не указали, что находитесь.

+0

Отлично! Большое спасибо за ваш ответ. Я не знал об этом. Я потратил так много времени, чтобы понять это :( – Radislav

Смежные вопросы