Я не могу сказать, что это чистое решение, но в некоторых случаях может работать лучше, чем наследование.

я есть три различных UITableView, каждый в своем собственном представлении, доступ к которому осуществляется через вкладки. Все три таблицы в идеале должны использовать один и тот же пользовательский класс UITableViewCell и файл .xib.

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

Результат хорош: ячейка отвечает за все визуальное расположение и отвечает на действия пользователя над элементами управления ячейки, а контроллер представления отвечает за создание ячеек и настройку их данных.

Теперь, когда мне нужно повторно использовать ячейку в других таблицах, проблема в том, что у .xib пользовательской ячейки есть один владелец файла, является проблемой. Вместо дублирования .xib-файла, существует ли простой способ позволить нескольким контроллерам владеть им?

Ответы на вопрос(3)

Ваш ответ на вопрос