我在桌面视图单元格中有一些文字,您将点击它,您将传递单元格的名称,并且您将被推送到另一个视图。无法将值传递给另一个viewController?
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath as IndexPath, animated: true)
let row = indexPath.row
valueToPass = sections[row]
print(valueToPass)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "fromWelcomeToSectionPage") {
// initialize new view controller and cast it as your view controller
let vc:sectionPage = segue.destination as! sectionPage
vc.passedValue = valueToPass
}
}
也是我在另一个控制器创建的代码检查
if passedValue == "Základy" {
print("it works")
}
这是我想通过它。变量valueToPass是全局变量。 Idk,但是当我在didSelectRowAtIndexPath中打印时,它是okey,但在准备时它是零。
敲击电池后,我已经有了意外发现零而展开的可选值
这就是我的另一个观点
var passedValue = String()
'valueToPass = vc.passedValue'应该是'vc.passedValue = valueToPass' – dan
此外,你的tableview委托方法正在使用一个较老的swift版本的签名,而你为segue方法准备的是使用Swift 3签名。他们都被叫到了吗? – dan
可能重复[在视图控制器之间传递数据](http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers) –