UITableView на каждой вкладке

В настоящее время я разрабатываю приложение на основе панели вкладок с 5 вкладками, каждая из которых имеет UITableView. Каждая вкладка связана с обычным UIViewController, первые две с теми, которые xCode создает по умолчанию, а остальные с теми, которые создал я. Если я попытаюсь добавить табличное представление к первым двум контроллерам представления (по умолчанию), все работает гладко, но когда я делаю то же самое с другими, приложение вылетает, сообщая мне, что:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x4e2f6f0'    

и tableView:numberOfRowsInSection: в моем файле .m это:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 2;

}

у вас есть какое-нибудь решение? Я огляделся безрезультатно

заранее спасибо за ответы


person David Pollak    schedule 08.05.2011    source источник


Ответы (2)


Проверьте эти две вещи.

1) если ваши другие viewControllers являются подклассами UIViewController, тогда они должны реализовать методы делегата: UITableViewDelegate и UITableViewDataSource. Это означает, что требуется не только реализовать их в вашем коде, но и сообщить компилятору, что вы это сделаете.

@interface thirdViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

2) или попробуйте посмотреть, относится ли ваш viewController к типу UITableViewController.

@interface thirdViewController : UITableViewController
person Cyprian    schedule 08.05.2011
comment
Я пытался добавить делегатов, но он продолжает падать и возвращать эту ошибку, я даже пытался добавить подкласс UITableViewController, но проблема не устранена. - person David Pollak; 08.05.2011
comment
Вы создали UITableView в своем viewController, инициализировали его и подключили к IBOutlet в IB? Ошибка в основном означает, что вы передаете nil там, где ожидается uitableView. - person Cyprian; 08.05.2011

Пожалуйста, посмотрите этот урок. http://www.youtube.com/watch?v=LBnPfAtswgw

person Legolas    schedule 17.06.2011