2010-08-13 1 views
0

Я не уверен, что я прав. Все учебные пособия, которые я видел, показывают, что почти все элементы управления, которые являются представлениями, обрабатываются их собственным ViewController. Но в документах Apple четко указано, что он должен быть одним ViewController для каждого экрана, и у меня более одного происходит на экране. Если у меня должно быть несколько ViewControllers на экран, как я могу подключить это в IB?Использование UITableView без контроллера - получение нераспознанной ошибки выбора

Я положил UITableView на мой основной вид, а затем создал пользовательский класс для его обработки. Я выполнил необходимые UITableViewDataSource и UITableViewDelegate, а затем добавил его как объект в свой XIB-файл. Я подключил таблицу к этому объекту, и я обязательно установил класс объекта в том, что я создал.

Проблема заключается в том, что простой метод willSelectRowAtIndexPath, определенный в моем пользовательском классе, приводит к сбою приложения при нажатии строки таблицы с ошибкой «непризнанный селектор». Я прошел через десятки форумов и искал ответ, но они все хотят убедиться, что класс настроен правильно (мой) или что-то вроде утечки памяти (для людей, которые не использовали IB для его создания.) Поэтому я совершенно не понимаю, почему это происходит. Это потому, что мой пользовательский класс не является подклассом UIViewController?

Редактировать: Я исправил проблему, переместив код в свой основной UIViewController и установив источник данных таблицы и делегируя его (владелец файла), и он работает. Но я все еще очень смущен тем, почему он отказался работать раньше. Все ссылки и свойства, похоже, были настроены просто отлично.

ответ

0

Вы установили свой пользовательский класс в UITableViewDelegate?

+0

Если вы имеете в виду установить его для реализации протокола, да. – Tesserex

Смежные вопросы