Я пытаюсь отправить строку charName из AvengersViewController в CharViewController.
Я использую представление коллекции в AvengersViewController.CharName - это метка в CharViewController.
То, что я пытаюсь, прекрасно работает с табличным представлением, но я не могу заставить его работать с использованием collectionViews ...
Я использую "lastItemSelectedA" дляуказать индекс метки из моего массива мстителей.Передача данных работает ... Я не могу получить индекс collectionViewItem для передачи с первым переходом, таким образом, делая его нулевым.Используя значение по умолчанию 0, я смог заметить, что он работает, однако он не изменяет значение lastItemSelectedA, когда ячейка нажата, но после ... Или, по крайней мере, не обновляет переменную.
Я уже испробовал как минимум 5 реализаций из решений в стеке.
extension AvengersViewController: UICollectionViewDelegate, UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
lastItemSelectedA = indexPath.item
//self.performSegue(withIdentifier: "openToCharA", sender: indexPath.item)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let identifier = segue.identifier else { return }
switch identifier {
case "openToCharA":
if let destination = segue.destination as? CharViewController {
destination.charName = avengers[lastItemSelectedA ?? 0].name
}
//destination.sounds = sounds
//guard let indexPath = collectionView.indexPathsForSelectedItems else {return}
//let sounds = fallen[lastItemSelectedF!].sounds
default:
print("unexpected segue identifier")
}
}