Это сводит меня с ума!
У меня есть общий класс UITableViewController с общим прототипом ячейки, с идентификатором "myCell". Разрабатывая под ARC, iOS5 и используя Storyboard, я использую следующий метод:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"myCell"];
cell.textLabel.text = @"Title";
return cell;
}
Все подключено в storyboard, владелец файла и т.д. В моем проекте есть еще несколько UITableViewController, использующих ту же концепцию. Все они работают. Этот конкретный класс UITableViewController не хочет работать! постоянно выбрасывает мне исключение:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'
Nslog'ed --> [tableView dequeueReusableCellWithIdentifier:@"myCell"] = (null)
Любые идеи и помощь очень ценятся!
EDIT:
For simplicity: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 1; }
То, что я уже сделал: 1. удалил, создал и настроил UITableViewController в storyboard! 2. Перезапустил Xcode 3. Перезапустил симулятор 4. Перезапустили компьютер!!!! 5. Удалял и создавал приложение снова и снова! Ничего не помогло.
Кстати, я попробовал
if (cell == nil)
cell = [UITableViewCell alloc] initWithStyle....
... и это решит проблему, но опять же... это ARC, storyboard, .... Я не должен этого делать. Xcode должен позаботиться об этом!