hoz blog

営業からSEに転職した文系エンジニアです。プログラミングと趣味の株に関してブログを書いていこうと思います。

【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