Урок UICollectionView, переход на другой VC

swift
ios
uicollectionview

#1

Не могу понять, что мне надо передать в массив
import UIKit

private let reuseIdentifier = “show”

class CollectionViewController: UICollectionViewController {
var listOfAlluminati = [“Никита(Режиссер)”,
“Игорь(Лысый)”,
“Артем(Хомяк)”,
“Женя(Водила)”,
“Валера(Монтажер)”,
“Максим(Подрывник)”,
“Даниил(CJ)”]

override func viewDidLoad() {
    super.viewDidLoad()
    
}

override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return listOfAlluminati.count
}

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! ViewCell
    cell.image.image = UIImage(named: listOfAlluminati[indexPath.row])
    return cell
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "showDetails" {
        if let indexPath = self.collectionView.indexPathsForSelectedItems {
            let detailsVC = segue.destination as? SegueView
            detailsVC?.alluminatiPicker = listOfAlluminati[ВОТ СЮДА ВСТАВИТЬ]
        }
    }
}

}


#2

detailsVC?.alluminatiPicker = listOfAlluminati[indexPath.row]


#3

Выдает ошибку



#4

У вас стоит выбор мульти селекта, поменяйте на сингл селект.


#5

Где это находится, подскажите=)


#6

indexPathsForSelectedItems -> indexPathForSelectedItem


#7

Его нет, есть только indexPathsForSelectedItems


#8

тогда так

if let indexPath = collectionView.indexPathsForSelectedItems.first {
    ...
}

#9

Это всё конечно очень классно, но этот урок испортил мой день(( … Я 3 раза садился за эту задачу сегодня, потратив суммарно перебором (рандомным программированием) - более часа, и казалось бы это не много, но так и вариантов над которым можно было подумать - там особо и не было.

Решение рабочее, но только не понятно, откуда мы должны были взять этот .first? Как можно было до этого догадаться? ((
let cell = sender as ! UICollectionViewCell
if let indexPath = self.collectionView.indexPath(for: cell)
выглядит поприятнее…
Но вопрос остается… Что прям все как то сами это решили эту задачу, что никто на форуме этим не интересовался и темы данной нет?
А то мне теперь не дает покоя мысль, что я один тут “недалекий” какой-то?(