我想通过 prepareForSegue() 将一个对象传递到另一个场景。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using [segue destinationViewController].
var nextScene = segue.destinationViewController as! VehicleDetailsTableViewController
// Pass the selected object to the new view controller.
if let indexPath = self.tableView.indexPathForSelectedRow() {
let selectedVehicle = vehicles[indexPath.row]
nextScene.currentVehicle = selectedVehicle
}
}
我有一个currentVehicle对象来获取这些对象。但是,当我尝试运行时,它崩溃并出现关于向下转换(downcasting)的错误。
错误编辑
无法将类型为'XXX.DisplayViewController' (0x1082dcd80)的值强制转换为类型为'XXX.VehicleDetailsTableViewController' (0x1082dc9a0)。(lldb)
segue.destinationViewController
给你的是DisplayViewController
。检查一下 storyboard 中的连接。 - KevinS