私の問題は、私が一般的なコードにはとても新しく、なぜ私の変数の値が遅すぎてリフレッシュされるのかわかりません。prepare(for segue:sender :)は、ibactionボタンよりも速いです。
Appでは、ビューがSecondViewControllerに変更され、コンソールがテーブル内で選択した行を出力します。しかし、SegueVarには、私がテーブル内のセルに置いたボタンをクリックすると、私に彼が関数を与えたかったという値は含まれていません。あなたのコードから
var uebergabe = String()
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "vonSchuljahrzuFach" {
let nextVC: SecondViewController = segue.destination as! SecondViewController
nextVC.SegueVar.append(uebergabe) // Übergabe des ausgewählten Schuljahres ergänzen
}
}
@IBAction func testButton(_ sender: UIButton) {
self.uebergabe = self.meineSchuljahre[sender.tag]
self.meineSchuljahre[0] = self.uebergabe
print(self.meineSchuljahre[0], "buttonfunktion")
}
ソースまたはデスティネーションビューコントローラで「テストボタン」はありますか?「SegueVar "配列?配列?配列はどこですか? 'SegueVar'インスタンス変数に付加されている値に依存する' SecondViewController'のコードですか? –
ところで、 'SegueVar'のようなインスタンス変数の名前は、小文字で始まる必要があります。 –