私はあなたがそれをタップするテーブルビューのセルにいくつかのテキストを持っています。あなたはセルの名前を渡すでしょうし、別のビューにプッシュされます。他の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はグローバル変数です。私はdidSelectRowAtIndexPathでそれを印刷していますが、それはokeyですが、準備中ではありません。ので、私は別のビューに
var passedValue = String()
'valueToPass = vc.passedValue'また' vc.passedValue = valueToPass' – dan
する必要があり、あなたのテーブルビューデリゲートメソッドは古いスウィフトバージョンからのシグネチャを使用しており、あなたの準備メソッドはSwift 3シグネチャを使用しています。彼らはどちらも呼ばれていますか? – dan
[View Controller間でデータを受け渡しする]の複製があります。(http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers) –