Я всюду искал в Apple.Developer и Stackflow и не нашел четкого, стандартного и правильного способа справиться с этим.По сути, я хочу представить, как представить в таблице более одного типа ячейки.Кроме того, в приложении есть и другие таблицы, которые потенциально могут использовать некоторые настраиваемые ячейки.
В большинстве случаев таблицы будут повторяться снова и снова.Но в некоторых случаях у меня есть таблица с несколькими типами сложных пользовательских ячеек.
Ниже перечислены различные способы, которые я узнал, вы можете сделать это.Я попробовал каждый из них, и все они работают, но я не уверен в «правильном» способе и способе, которым Apple не откажется.
1) программно - в конечном счете, этоэто лучший выбор для производительности.Но если есть способ рисовать сложные настраиваемые ячейки в Интерфейсном Разработчике, это был бы лучший выбор.Это то, чего я пытаюсь избежать.
2) настраиваемый класс ячеек с отдельным XIB - каждая настраиваемая ячейка имеет свой собственный заголовок / реализацию / XIB и является подклассом UITableViewCell,Для отдельной ячейки в XIB владельцем файла задан определенный класс UITableViewController.Вид здесь также был удален.
3) настроенная ячейка в той же XIB, что и XIB контроллера представления - я читал, что это плохо.Контроллер должен быть связан только с одним представлением в иерархии.Я включил настраиваемую ячейку в XIB на том же уровне, что и представление, а затем просто связал ее с IBOutlet контроллера.
4) отдельный общий XIB - это, по сути, полигон для настраиваемых ячеек .Вид здесь также был удален.XIB содержит несколько ячеек, и каждая ячейка связана с определенным подклассом UITableViewCell.Заголовок и файл реализации содержат определение и реализацию для каждой ячейки, которая разделена на подклассы из UITableViewCell.В контроллере, который показывает таблицу, метод cellForRowAtIndexPath проходит по циклу NSBundle для этого общего XIB и находит ячейку, связанную с конкретным типом подкласса UITableViewCell.Тогда это возвращает это.Это прекрасно работает для повторного использования в приложении, но что-то говорит мне, что это плохо.
Как правильно подходить для разных типов ячеек в одной таблице?