Я хочу передать данные из ячейки collectionView
в другой контроллер представления. Я зашел так далеко, но я застрял. В принципе, я хочу передать текст метки внутри ячейки collectionView на метку с другого контроллера представления. Код ниже не работает. Я думаю, мне нужно добавить код, который сообщает, какая ячейка была нажата. Кстати, когда я изменить эту строку viewController.dataLabelObject = valueToPass
к этому viewController.dataLabelObject = "Hello"
я могу увидеть его на другой контроллерПолучение indexPath элементов коллекцииView
var valueToPass: String!
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{
if segue.identifier == "mySegue"
{
let viewController = segue.destination as! AnimalsViewController1
viewController.dataLabelObject = valueToPass
}
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
{
let currentCell = myCollectionView.cellForItem(at: indexPath) as! CollectionViewCell1
valueToPass = currentCell.textLabel.text
performSegue(withIdentifier: "mySegue", sender: self)
}
То, как вы пытаетесь решить проблему, в корне неверно. Представления не предназначены для переноса данных, это работа для моделей. При этом вы можете захватить модель, которая предоставила значение метки в первую очередь, а затем передать значение. – Alladinian