【发布时间】:2017-02-11 16:14:33
【问题描述】:
我在TableViewController 中有以下转场,每个表格行都有一个 Fruit 对象。我想将每一行的对象传递给一个视图控制器,该控制器在一行中显示有关该对象的更多详细信息,因此我编写了下面的 segue 来跨视图控制器传输 Fruit 对象。
在FruitDescriptionViewController 中,我无法弄清楚如何定义将从行中获取对象的变量,因为它不允许我定义变量var chosenFruit = Fruit 并且在segue 中,我得到了错误cannot pass type Fruit to type Fruit.type
我将如何通过 segue 传递 Fruit 对象并将其存储在 FruitDescriptionViewController 的 Fruit 变量中?
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 chosenFruit = Fruit应该是var chosenFruit: Fruit?
标签: ios swift object storyboard segue