見出し画像

Swiftで行こう!--遷移でデータ移行!

意外と簡単に画面遷移できますね。

それで、例えばAの画面からBの画面に移った時にAで書いた情報をBの画面で表示する方法を記録しておきます。

画面としては2つの画面です。起動時に左のViewControllerが立ち上がります。そして、Buttonを押すと、右側の画面NextViewControllerに画面遷移します。

追加のコードです。

最初に変数宣言です。@IBOutletStory Boadで紐ずけしている変数textFieldです。ここに文字を入れて遷移したB画面で表示させます。

 @IBOutlet weak var textField: UITextField!

その下にある変数inputTextが受け渡しするために作る変数です。

var inputText:String!

次に遷移するためのメソッドです。override で記述していきます。

override func prepare(for segue: UIStoryboardSegue, sender: Any!) {
       if (segue.identifier == "segue") {
           let next: NextViewController = (segue.destination as? NextViewController)!
           inputText = self.textField.text
  
           next.text = inputText
       }
   }

if (segue.identifier == "segue") {}  "segue"はセグエの名前です。 "segue"という名前のセグエの場合にデータを移します。

そして、次に遷移先の画面を変数に代入して扱いやすくします。

let next: NextViewController = (segue.destination as? NextViewController)!

最後にデータ移行用の変数inputTextself.textField.textで書いたデータを代入します。

そして next.text = inputText で次の画面の変数textにデータを入れます。

次に遷移するきっかけですね。Buttonを押したら遷移するようにします。

事前にStory Boadで紐ずけしています。ここではprint()のみ記述しています。特に意味ありません。

   @IBAction func button(_ sender: Any) {
           print("Hello")
   }

最後に最初の画面に戻るためのコードです。

 @IBAction func goBack(_ segue:UIStoryboardSegue) {}

紐ずけは

引っ張って、

goBackを選ぶと完成です。

コードの全体です。


いいなと思ったら応援しよう!