プログラミングと旅と映画の日々

普段はスマホ決済サービスの会社でバッグエンドを担当しているエンジニアです。プログラミングと趣味の映画、株、時々うどんに関してブログを書いていこうと思います。海外ドラマ、クロスバイクも好きです。

【Swift】値を渡しながら画面遷移する

Swiftで値を渡しながら画面遷移する方法について書きます。

かなり簡単にかけます。


segueにIDをつけておきます。
f:id:takanori5:20171022123751p:plain

今回はNextと設定

推移元のcontrollerにprepareメソッドをoverride
これが画面推移前に呼ばれるメソッドなので、値を渡したい時はここでセットしていきます。

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  //上記でセットしたidentifierのsegueであれば、
       //推移先のcontrollerの変数(ここではUIImage)に推移元のcontrollerのUIImageをセット
        if segue.identifier == "next" {
            let subVC:EditViewController = segue.destination as! EditViewController
            subVC.willEdit = imageView.image!
        }
    }

これで値を渡すことができました。

画面推移は以下

     //以下を推移したいタイミング(例えばボタンのタップ時のメソッドの中で呼ぶ)
     performSegue(withIdentifier: "next", sender: nil)

以上です。かなり簡単ですね。

takanori5.hatenablog.com
takanori5.hatenablog.com