Один линейный код в большинстве случаев не годится, согласен, но для любителей вот один из них. Таким образом, старый школьный способ потребует от вас сначала создать объект UINib и загрузить его, а затем зарегистрировать его в табличном представлении. Короче

let nib = UINib(nibName: "nameOfYourNibFile", bundle: nil)
tableView.register(register: nib, forCellReuseIdentifier: "yourIdentifier")

Теперь, если у вас есть несколько типов клеток, они могут легко расти. Что ты думаешь об этом:

Больше никаких манипуляций со строками и запоминания имени пера или идентификатора повторного использования ячейки. Кроме того, если вы добавите какие-либо новые ячейки, они будут автоматически зарегистрированы. Итак, начнем…

Вам нужно будет создать простой протокол, который будет соответствовать CaseIterable (это тип, который предоставляет набор всех своих значений, дополнительную информацию о этом), что дает нам легко доступный все значения. Наш протокол должен содержать простое свойство типа AnyClass (представляющее наш UITableViewCell или CollectionViewCell). В конце концов

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

Теперь последний шаг — расширить функциональные возможности UITableView путем создания расширения. Олдскульный способ с небольшими изменениями 😊

Не так уж сложно, как может показаться. Надеюсь, я получу тех ненавистников One-Liner 😀. Если вам это нравится, не забудьте дать небольшие аплодисменты, мы оценим это. Удачного кодирования