2009-04-11 2 views
0

У меня возникла проблема с нажатием UITableViewController на NavigationController. Со следующим кодом:UITableViewController и NavigationController

ProblemEditController *problemEditController = [[[ProblemEditController alloc] initWithNibName:@"ProblemEditController" bundle:nil] retain]; 
problemEditController.problem = [[Problem alloc] init]; 
[self.navigationController pushViewController:problemEditController animated:YES]; 
[problemEditController release]; 

Контроллер навигации работает должным образом, однако табличный вид не отображается. numberOfSectionsInTableView вызывается в моем UITableViewController, но numberOfRowsInSection и cellForRowAtIndexPath не вызываются, и представление отображается пустым.

Есть ли что-то очевидное, что мне не хватает?

EDIT

Я изменил что-то в файле бобах (тупо, не помню что), и я вижу numberOfRowsInSection называют в настоящее время.

ответ

1

ОК, я обнаружил, что я делаю неправильно. Я добавил TableViewController к моему nib, а не просто добавил табличное представление.

Я бы в самом деле испортил соединение для просмотра в IB. Для дальнейшего использования, это то, что обычай UITableViewController должен выглядеть в IB:

alt text http://pix.im/files/134/scaled.jpg?1239453713

Теперь я чувствую себя кретином.

+0

Время от времени я чувствовал, что интерфейс Builder является препятствием, поскольку все расширенные примеры проектов в iOS-библиотеке программно создают многие из их контроллеров, поэтому иногда трудно понять, где файлы nib живут в течение всего жизненного цикла приложения , – surfasb

0

Попробуйте использовать сохранение или освобождение на ** problemEditController *.

Этот фрагмент кода отлично работает для меня:

formationsController = [[FormationsController alloc] initWithNibName:@"Formations" bundle:nil]; 
[navigationController pushViewController:formationsController animated:YES]; 
+0

К сожалению, это не сработало - такая же проблема. Я не понимаю, почему представление не отображается при вызове функции numberOfSectionsInTableView. – Codebeef

+0

Попробуйте показать представление с помощью prensetModalViewController вместо того, чтобы его нажать. Чтобы увидеть, что-то изменилось. –

+0

То же самое - отображается пустой вид. – Codebeef