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