Просмотр пользовательского интерфейса в UITableViewCell

#objective-c #ipad #uitableview

#objective-c #iPad #uitableview

Вопрос:

Мне нужно загрузить UITableViewCell xib-файл в корневой контроллер разделенного представления. UITableViewCell Содержит UITableView в качестве подвида (разработано в Interface Builder). Это UITableView будет использоваться для загрузки других ячеек. Возможно ли достичь загрузки UITableView внутри UITableViewCell ??

Короче говоря — ячейка с tableview в качестве подвида, которая загружает данные из базы данных.

Я пробовал это, но без особого успеха. Проблема в том, что метод делегирования…

 - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  

..помещенный в UITableViewCell файл реализации, никогда не запускается.

Пожалуйста, помогите.

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

1. Почему во многих горячих Адах вы хотите это сделать?

2. Ну, вы могли бы использовать это, чтобы поместить несколько сгруппированных ячеек таблицы в негруппированное табличное представление.

Ответ №1:

Однако ваш дизайн может быть опрометчивым…

Если у вас есть код для вашего класса UITableViewCell, то этот объект должен быть источником данных и делегатом для вашего встроенного UITableView. Что-то, конечно, должно быть источником данных TableView и делегатом, конечно.

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

Сколько пользовательских ячеек таблицы со встроенными табличными представлениями вы планируете? Почему бы не использовать единый табличный вид с сгруппированным стилем? Раздел Eacn таблицы может содержать содержимое, которое вы сейчас помещаете в свой элемент UITableViewCell / UITableView. Безусловно, было бы проще и могло бы привести к тому же результату.

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

1. Я повторно связал UITableView с классом UITableViewCell (источник данных и делегат), и теперь он работает.