Я пытаюсь использовать раскадровки в приложении, над которым я работаю. В приложении есть Списки и Пользователи, и каждый из них содержит коллекцию другого (члены списка, списки, принадлежащие пользователю). Итак, у меня есть классы ListCell
и UserCell
. Цель состоит в том, чтобы их можно было повторно использовать во всем приложении (т.е. В любом из моих контроллеров tableview).
То, где я столкнулся с проблемой.
Как создать пользовательскую ячейку таблицы в раскадровке, которая может быть повторно использована в любом контроллере представления?
Вот конкретные вещи, которые я пробовал до сих пор.
-
В контроллере # 1 добавлена ячейка прототипа, установите класс в мой подкласс
UITableViewCell
, установите идентификатор повторного использования, добавьте метки и подключите их к выходам классов. В контроллере # 2 добавлена пустая ячейка прототипа, установите ее в тот же класс и повторно используйте идентификатор, как и раньше. Когда он запускается, метки никогда не появляются, когда ячейки отображаются в контроллере №2. Прекрасно работает в контроллере №1. -
Разработал каждый тип ячейки в другом NIB и подключен к соответствующему классу ячейки. В раскадровке добавлена пустая ячейка прототипа и задана ее идентификатор класса и повторного использования, чтобы ссылаться на мой класс ячеек. В методах
viewDidLoad
контроллеров зарегистрированы эти файлы NIB для идентификатора повторного использования. Когда показано, ячейки обоих контроллеров были пусты, как прототип. -
Сохраненные прототипы на обоих контроллерах пустые и задают класс и повторно используют id для моего класса ячейки. Построен пользовательский интерфейс ячеек полностью в коде. Ячейки отлично работают во всех контроллерах.
Во втором случае я подозреваю, что прототип всегда переопределяет NIB, и если я убил ячейки прототипа, то будет работать регистрация моего NIB для повторного использования. Но тогда я бы не смог настроить segues из ячеек на другие фреймы, что на самом деле является целым рядом с использованием раскадровки.
В конце дня я хочу две вещи: подключить потоки, основанные на табличном представлении, в раскадровке, и определять макеты ячеек визуально, а не в коде. Я не могу понять, как добраться до них обоих.