У вас есть следующие опции
1) Реализовать источник данных табличного представления и delgate в viewController вместо ячейки представления коллекции
2) Использовать делегат (объяснено ниже)
3) Использовать замыкания
4)Использовать NotificationCenter
Необходимо создать делегат или протокол, поскольку ячейка представления коллекции не может выдвигать или представлять контроллер представления.
Вот простой пример (это не точный код, который вам может потребоваться изменить)
Создать протокол
protocol TableViewInsideCollectionViewDelegate:class {
func cellTaped(data:IndexPath)
}
Внутри вашей ячейки коллекции добавить слабое свойство
weak var delegate:TableViewInsideCollectionViewDelegate?
Теперь в вашем классе ViewController вы в методе cellForItem коллекции viewview должны установить для делегата self
как
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "YourCell", for: indexPath) as! CustomCollectionCell
cell.delegate = self
return cell
и реализовать метод делегата в классе viewController и написать код для pushоттуда ваш контроллер представления выглядит как self.navigationController.push
Сейчас в Goto Collectionview Метод ячейки
и всякий раз, когда ваш tableviewDidSelect вызывал
, вызывал метод делегата, например self.delegate?.cellTaped(data: dataYouWantToPass)
Надеюсь, это полезно