Size: a a a

2021 December 07

К

Кирилл in SwiftBook
У меня viewController, в который добавлена таблица, в ячейках этой таблицы должна быть collectionView
источник

VN

Vlad Niva in SwiftBook
Значит нужно инициализировать view твоего контроллера прокастив до кастомного класса, в класе твоего view создаешь таблицу и настраиваешь ее, а потом в контроллере делаешь то, что я отписал выше. customView.customTableView.delegate = self. Тоже самое для dataSource.

И уже в контроллере через extension ты подписываешь контроллер под протоколы UITableViewDelegate и UITableViewDataSouce. И реализуешь необходимые методы.
источник

VN

Vlad Niva in SwiftBook
Рекомендую кстати изучать это все без использования сторибордов, сначала будет трудно, но зато разобравшись, во первых будет более глубокое понимание работы этих процессов, жизненного цикла контроллера и т д, а так же будешь делать сразу так, как делают в реальных проектах
источник

К

Кирилл in SwiftBook
Под view ты что здесь подразумеваешь? tableView, collectionView, tableViewCell, collectionViewCell?
источник

К

Кирилл in SwiftBook
Я и делаю кодом. Это и правда погружает в UIKit)
источник

VN

Vlad Niva in SwiftBook
У viewController есть свойство view. Всегда. Это стандартный экран который будет у твоего контроллера, и уже на него ты добавляешь все элементы. По умолчанию это view всегда UIView
источник

VN

Vlad Niva in SwiftBook
Метод viewDidLoad как раз и отрабатывает сразу после того, как view будет загружено)
источник

К

Кирилл in SwiftBook
Это понятно, таблицу я добавил поверх view vc. У меня вопрос где инициализировать collectionView, чтобы ее добавить на contentView tableViewCell

В схеме mvc, я так понимаю, ячейка таблицы не должна ничего делать с коллекцией внутри себя, кроме ее отображения.

Кто в итоге должен организовывать работу collectionView?)

Или может проще туда вместо collectionView запихнуть collectionViewController?
источник

VN

Vlad Niva in SwiftBook
Иерархия, если у тебя коллекция на ячейках таблицы, то это плохая практика, но все же создаешь кастомный класс view, в нем создаешь tableView, реализуешь протоколы в контроллере, и в методе конфигурации ячейки кастишь ее до кастомного класса, аля customTableViewCell, а уже в данном классе создаешь коллекцию, снова подписываешь свой контроллер под collectionViewDelegate и dataSource, и по аналогии с ячейкой ставишь себя делегатом в методе viewDidLoad, и все, так же как и ячейку, похожим методом создаёшь item, и кастишь до класса айтема коллекции, и в нем производишь настройку, повторюсь, это оч плохая практика
источник

К

Кирилл in SwiftBook
А как тогда это должно быть реализовано, с учетом того, что большая часть приложений(Кинопоиск, например) состоят из коллекция в ячейках таблицы?
источник

VN

Vlad Niva in SwiftBook
Скрин есть?
источник

К

Кирилл in SwiftBook
Кинопоиска?
источник

VN

Vlad Niva in SwiftBook
Да. Я никогда не пользовался
источник

К

Кирилл in SwiftBook
источник

К

Кирилл in SwiftBook
Да 90% приложений такие
источник

S

Sasha_A in SwiftBook
не факт, часто делают стек вью на скролл вью, и в них уже пихают коллекции
источник

VN

Vlad Niva in SwiftBook
Тут нет таблицы же
источник

VN

Vlad Niva in SwiftBook
Тут несколько коллекций на скроллВью
источник

К

Кирилл in SwiftBook
Это ты как определил?
источник

S

Sasha_A in SwiftBook
вот если однотипный длинный список, и время от времени попадается горизонтальный скролл - возможно там и коллекция в ячейке, но возможно скролл в ячейке
источник