storyboardで2つの画面を作ってsegueを使ったUIButtonで画面遷移しています。
View1からView2に画面遷移をする際にView1のデータが初期化されるのですが、View1のデータを更新させない方法がよく分かりません。
実装したいことはView1で算出した数値でView2にタイマーをセットするものです。
View1からView2に値を渡すことはできたのですが遷移する際に更新されています。
どのような方法を用いれば良いのかご教授願います。
http://swift-ios.keicode.com/ios/segue.php
画面遷移の方法はこのサイトを参考にさせてもらっています。```
Swift
1//View1 → View2 の遷移ボタン 2@objc func onsetteiButton(_ sender:UIButton){ 3 performSegue(withIdentifier: "settingsegue", sender: nil) 4 5 } 6 7//View1 → View2に値を渡す関数 8override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 9 var view2 = segue.destination as! ViewController2 10 if(alarmsettei==true){ 11 view2.syuppatuzikan = syuppaturesulttime 12 view2.amayadorizikan = amayadoriresulttime 13 } 14 }
データというのはなんでしょう?コードがないとスコープの問題なのかロジックの問題なのかも見当つきません
すいません説明が下手でした。データというよりはView1で実行した結果を画面遷移した後も変更したくないと思っています。現状ではView1でマップのルート検索をしているのですがView2に画面遷移をする際に検索したルートがなくなってしまうので質問をさせてもらっています。
viewWillApper()など画面表示のたびに呼ばれるメソッド内に更新処理が書かれてるのではと思いますが、やはりコードを見ないことにはなかなか回答しづらいです。
画面遷移の機能を加える際に書いたコードを追加させていただきました。ご拝見いただくと幸いです。viewWillApper()は使っていないので他の理由があるのだと思います。AppDelegate.swiftの方は触っていません。
戻るときのロジックも載せてもらえると回答しやすいかもです
戻ってくる時は参考サイトの方法でView2にボタンを置いてセグウェイで結んでいます。そのため帰りはコードとして加えた部分はないです。
そのサイトの戻り方はスタックのポップになってないので、http://yuu.1000quu.com/how_to_use_segueを参考に戻る処理を実装してみてください
変更したら更新されなくなりました。本当にありがとうございます。キューの動作になってたんですね。
解決しちゃったのですねw 自己解決で回答欄埋めといてください
本当に助かりました。感謝します。
回答1件
あなたの回答
tips
プレビュー