UITableView: проблемы с подключением в IB

#iphone #objective-c #uitableview

#iPhone #objective-c #uitableview

Вопрос:

У меня возникла проблема с подключением моего UITableView в IB. Я почти точно следую коду из руководства, поэтому я знаю, что должно быть 4 соединения: таблица с владельцем файла (выберите делегат), таблица с владельцем файла (выберите источник данных), Владелец файла с таблицей (выберите просмотр), Владелец файла с таблицей (выберите TableView).

Моя проблема с этим последним подключением. Когда я перетаскиваю от владельца файла к таблице, единственный вариант, который я вижу, — это просмотр. ПОЧЕМУ ТАМ НЕТ TABLEVIEW?

Я думаю, что именно из-за этой проблемы я получаю пустой экран при запуске своего кода. И я сходил с ума, пытаясь понять, почему мой код неправильный, но учебник работает. Поэтому, пожалуйста, любая помощь высоко ценится =]

Ответ №1:

Вы совершаете ошибку, ваш UITableView является подвидом UIView :

Итак, ваши ссылки должны быть :

  • таблица для владельца файла (выберите делегировать)
  • таблица для владельца файла (выберите источник данных)
  • Владелец файла для просмотра (выберите просмотр): это подключение устанавливается автоматически
  • Владельца файла в таблицу (выберите TableView).

Если ваш TableView не отображается в IB, это, вероятно, потому, что вы не объявили его как IBOutlet внутри файла заголовка вашего контроллера.

Я предлагаю вам ознакомиться с разделом «Создание и настройка табличного представления» в руководстве по программированию табличного представления :

http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/CreateConfigureTableView/CreateConfigureTableView.html#//apple_ref/doc/uid/TP40007451-CH6-SW10

Вы также можете найти пример в примере кода «TableViewSuite» от Apple :

http://developer.apple.com/library/ios/samplecode/TableViewSuite/TableViewSuite.zip

Надеюсь, это поможет, Винсент

Комментарии:

1. Вы правы, я не объявлял это как выход. Спасибо за помощь и действительно хорошие ссылки!

Ответ №2:

есть ли у вас UITableView, указанный в классе владельца вашего файла? убедитесь, что у вас есть следующее в классе, который вы задаете в качестве владельца файла

в @interface:

 UITableView *myTableView;
  

и

 @property (nonatomic, retain) IBOutlet UITableView *myTableView;
  

затем в IB щелкните правой кнопкой мыши на владельце файла, и вы должны увидеть MyTableView в качестве выхода. перетащите это в TableView на экране, и вы должны быть готовы к работе

Комментарии:

1. Это была моя проблема! Большое спасибо за помощь. Действительно ценю это. Просто странно, потому что в коде руководства нет этой строки и он все еще как-то работает… В любом случае, еще раз спасибо!