Статические ячейки раскадровки: dequeueReusableCellWithIdentifier возвращает ноль
Использование раскадровки, статических ячеек, вcellForRo,wAtIndexPath:
линия
UITableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
всегда возвращаетсяnil
.
Я проверил следующее:
Идентификатор ячейки правильно установлен в IB / Раскадровке, и я использую тот же идентификатор в коде. Я проверял это много раз.Я не создавал экземпляр контроллера представления в другом месте (что было проблемой вэтот вопрос).Мой контроллер представления является подклассомUITableViewController
, конечно, завернутый вдля этого случая навигационный контроллер в раскадровке. Подозревая, что мой контроллер представления каким-то образом не знает об идентификаторах ячеек, определенных в раскадровке, потому что это может быть другой экземпляр, вот код, который его «создает». ВprepareForSegue:
, Я использую
CustomViewController *vc = [[[segue destinationViewController]
viewControllers] objectAtIndex:0];
Другие настройки контроллера представления, выполненные здесь (настройка свойств и т. Д.), Работают нормально.
Я использую статические ячейки, потому что количество секций и строк не меняется, и каждая ячейка содержит статический текст (и другие элементы управления или текстовые поля, которые нужно редактировать).
Мне кажется, это очень распространенная задача (настроить статические ячейки из раскадровки в методах источника данных контроллера представления). Что я делаю неправильно?