Swift передать данные о нажатом cell в prepare for segue

есть стандартная функция, которая должна передать данные ячейки другому UIViewController:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        var destinationVC: InformationViewController = segue.destination as! InformationViewController
        //destinationVC.textOfLabel =
    }

Ячейка состоит из label и именно ее данные хочу передать в переменную textOfLabel. Останавливаюсь точкой остановки и вижу, что в sender есть данные label, но я не знаю как их получить и как к ним обратиться, подскажите пожалуйста как это можно реализовать! Спасибо!

Скрин точки остановки в функции prepare


Ответы (1 шт):

Автор решения: schmidt9

Если бы распечатали в консоли описание sender, то увидели бы примерно следующее

Printing description of sender:
▿ Optional<Any>
  ▿ some : <SegueTest.CollectionViewCell: 0x7f9325609920; baseClass = UICollectionViewCell; frame = (0 0; 41 20.3333); clipsToBounds = YES; opaque = NO; layer = <CALayer: 0x600003c51fa0>>

Здесь как раз и указан тип, к которому нужно приводить, чтобы получить доступ к лейблу (здесь класс ячейки у меня называется CollectionViewCell)

Соответственно делаем так

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let text = (sender as! CollectionViewCell).label.text
}
→ Ссылка