Что такое форма collectionView indexPathForSelectedRow?

Я пытаюсь создать переменную "indexx", которая будет переходить к моему следующему tableController. indexx будет хранить indexPath выбранной ячейки из моего collectionView, однако я не уверен, какое свойство использовать. Я гораздо лучше знаком со свойствами tableController, поэтому мне трудно найти удачное решение для этого фрагмента кода. Вы случайно не знаете мою ошибку?

В качестве краткого замечания - foodcv - это мой collectionView, а numberr - это переменная во втором контроллере назначения.

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let destViewController = segue.destination as? foodtable {
        let indexx = self.foodcv.indexPath(for: foodcell)
        destViewController.numberr = indexx
    }
}


let numberr : IndexPath = []

2 ответа

Может быть, уже слишком поздно, но здесь вы идете

Swift 4

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let destViewController = segue.destination as? foodtable {
        let indexPaths : NSArray = foodcv.indexPathsForSelectedItems! as NSArray
        let indexx : IndexPath = indexPaths[0] as! IndexPath
        destViewController.numberr = indexx[selectedindexPath.row]
    }
} 

Используйте эту модифицированную реализацию,

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let destViewController = segue.destination as? foodtable {
        let indexx = self.foodcv.indexPathForCell(sender as! UICollectionViewCell)
        destViewController.numberr = indexx
    }
}
Другие вопросы по тегам