Переход из UiCollectionView в UITableView


#1

Доброго времени суток.

Мне нужно сделать так, чтобы при тапе на иконку в UiCollectionView открывался UITableView который соответсвует именно этой иконке, то есть для каждой иконки в UiCollectionView есть свой UITableView.

Данную проблему пытаюсь решить уже достаточно долго, и в итоге я пришел к такому решению: Я создал словарь(картинка 1) и получив ячейку (код получения ячейки на картинке 2) пытаюсь перейти к соответствующему UITableView, но и в данному случае я получаю ошибку, вопрос в следующем, как мне исправить эту ошибку или есть ли возможность проделать это переход иначе, и если есть то как это можно реализовать?

спасибо


#2

А почему не через didSelectRow не сделаете?


#3

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

if let indexPath = collectionView.indexPathForSelectedItem {
    ...
}

#4

Если я правильно все понимаю, то я так и делаю.
А при попытке исправить ошибку, я получаю следующее


#5

я думал есть такой метод, тогда так

if let indexPath = collectionView.indexPathsForSelectedItems[0] {
    ...
}

RecipeDetail - это что?


#6

Спасибо!! Рад что нашел этот пост

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "ShowDetails" {
        if let indexPath = self.collectionView.indexPathsForSelectedItems?[0] {
            let detailVC = segue.destination as! DetailVC
            detailVC.detailTitle = coverImages[indexPath.row]
        }
    }
    
}

Все работает!