Это либо ошибка XCode, либо я здесь упускаю важное правило.
Обновление: - Какова вероятность того, что это странная ошибка в XCode / Storyboard?
Ситуация:
- iOS 5, раскадровка
- Это настройка раскадровки: http://i.imgur.com/T5WyD.png
- Еще один скриншот полной настройки: http://i.imgur.com/1tVuz.png
- TableViewController с пользовательской ячейкой, ячейка имеетмногоразовый идентификатор "NewCell"
в "cellForRowAtIndexPath" У меня в основном есть:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"NewCell"];
return cell;
Это вызывает исключение:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'
Вещи, которые я уже пробовал:
- Я устанавливаю новый проект с нуля, TabBarController,с помощью TableViewController и пользовательской ячейки, подключенных в раскадровке, можно установить идентификатор ячейки многократного использования.Использовал тот же код, что и выше, отлично работал .Я не знаю, почему он не работал с раскадровкой выше ...
У меня такое ощущение, что это как-то связано с деревом, которое я там построил, - TabBarController, загружающимNavigationController, загружая TableViewController, предоставляя несколько элементов, при нажатии на один из которых загружается другой TableViewController, который каким-то образом не может работать с пользовательской ячейкой.
Важное замечание: - Проблема заключается вчто раскадровка должна убедиться, что: UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"NewCell"];
никогда не вернет NIL (в отличие от раскадровки / iOS4).Но мой ноль.И, черт возьми, я не могу понять, что происходит.