У меня есть следующий segue в TableViewController
, и каждая строка таблицы имеет объект Fruit. Я хочу передать объект каждой строки контроллеру представления, который показывает более подробную информацию об объекте в строке, поэтому я написал segue ниже, чтобы передать объект Fruit через контроллеры представлений.Передача объекта через раскадровку Segue
В FruitDescriptionViewController
, я не мог понять, как определить переменную, которая будет принимать на объект из строки, потому что он не будет препятствовать мне определить переменную var chosenFruit = Fruit
и в Segue, я получаю ошибку cannot pass type Fruit to type Fruit.type
Как я могу проехать объект Fruit через segue и сохранить его в переменной Fruit в FruitDescriptionViewController
?
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "FruitDetails" {
if let indexPath = tableView.indexPathForSelectedRow {
var fruit = fruits[indexPath.row]
let controller = segue.destination as? FruitDescriptionViewController
controller?.chosenFruit = Fruit(name: fruit.name, url: fruit.url, fruitArray: fruit.fruitArray)
}
}
}
'var selectedFruit = Fruit' должно быть' var selectedFruit: Fruit? ' – Callam