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, но я не знаю как их получить и как к ним обратиться, подскажите пожалуйста как это можно реализовать! Спасибо!
Ответы (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
}
