Загрузка пера табличного представления после нажатия кнопки

Я использовал следующий код, чтобы добавить кнопку на панель навигации, которая при нажатии будет вызывать метод showCountries:

    UIBarButtonItem *countriesButton = [[UIBarButtonItem alloc] initWithTitle:@"Countries" style: UIButtonTypeRoundedRect target:self action:@selector(showCountries:)];
self.navigationItem.leftBarButtonItem = countriesButton;
[countriesButton release];  

Теперь это работает, кнопка появляется и при нажатии переходит к методу showCountries, как и планировалось.

То, что нужно сделать методу показа стран, — это загрузить новое табличное представление, содержащее список ошибочных стран (которые в данный момент находятся в массиве).

Для этого я попробовал следующий код:

    UIViewController *controller = [[UIViewController alloc] initWithNibName:@"countriesViewController" bundle:nil];

[self.navigationController pushViewController:controller animated:YES];

Кажется, все компилируется нормально, но при использовании в консоли появляется следующая ошибка, и приложение вылетает:

2010-06-21 18:09:02.076 Vat Pro[788:207] * -[UIViewController tableView:numberOfRowsInSection:]: нераспознанный селектор отправлен экземпляру 0x12a920 21-06-2010 18:09:02.082 Vat Pro[788 :207] * Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «*** -[UIViewController tableView:numberOfRowsInSection:]: нераспознанный селектор отправлен экземпляру 0x12a920» 2010-06-21 18:09:02.088 Ват Про[788:207]

Я чешу голову уже 2 дня, поэтому, пожалуйста, если вы заметите мою ошибку, пожалуйста, скажите мне.

Я также попытался загрузить простой файл пера, и это сработало нормально.


person Paul    schedule 21.06.2010    source источник


Ответы (1)


Да - я нашел проблему. Это было потому, что я объявлял второй контроллер представления внутри первого, а затем выпускал его. С тех пор я переместил это в свой делегат приложения, который решил проблему.

Я создал тестовый проект, демонстрирующий это, если кто-то еще сочтет это полезным. текст ссылки

person Paul    schedule 22.06.2010