我在桌面視圖單元格中有一些文字,您將點擊它,您將傳遞單元格的名稱,並且您將被推送到另一個視圖。無法將值傳遞給另一個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) –