セグを別のコントローラにセットアップしましたが、テキストビューのテキストを新しいコントローラに渡そうとしています。私はプログラムを実行すると、私はエラーを取得しておいてください。ViewControllerからデータを渡す
を、私は私が渡していた値がnilでない...
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "getReflection" {
if let destinationVC = segue.destination as? ReflectionViewController {
destinationVC.reflectionTextBox.text = self.reflectionTextBox.text
//Crashes on the above expression???
destinationVC.delegate = self
}
}
}
以下の私のセグエコードを参照してください知っている「オプションの値をアンラップしながら、予期せずnilを見つけ」どんな助けもありがとう!
こんにちはKevin、弱いvarの問題は理にかなっていますが、あなたはsegueの準備関数で変数を渡す方法の例を挙げることができますか? viewDIdLoadはどのようにそれらにアクセスしますか?または、おそらく受信側のコントローラーで強い変数を宣言してから、テキストボックスに値を設定することができますか? –
ありがとうございます...強力な変数が機能しています...例の必要はありません –
これは、ほとんどのユースケースではまさにその方法です。根本的な問題は可変参照カウントではないため、弱い場合もあります。そのIBバインディングは、ライフサイクルの後半まで初期化されません。うれしいことに助けてくれて、答えを受け入れてくれてありがとう! –