iOS swift segueの備忘録(一部にdelegateもあるけど気にしない)
久しぶりの更新です。
最近iOSのコードを書いててsegueでのUnwind Segueをソース上で動かせなくて困ったんで
備忘録として書いときます。(まぁ既出でしょうけど。。。)誰かの役に立てば幸いです。
*普通のソースで扱うsegue*
buttonに繋がないで画面コントローラーにつなぐ。identityを決める。そしたら以下のものを駆使するだけ。
//これ一行書くだけでで遷移する self.performSegueWithIdentifier("決めたidentity", sender: self) * //ここで何かしらのことも((値渡しとか override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if (segue.identifier == "決めたidentity") { // let nextViewController: nextViewController = segue.destinationViewController as! nextViewController//ここに遷移先のインスタンスを作れるので、 }
*exitをソースで動かしたい*
まずはstoryboardの上のexitにつける(ここまではみんなわかると思う。というかいっぱい記事あるし省略する。)その後Unwind Segueにidentity、タグずけをしておく。(わかると思うけどストーリーボード上でやるよー)一番下のクリックしてやるんだぜ)
そしたもう簡単
self.performSegueWithIdentifier("決めたidentityUnwind Segue", sender: self) //ここで何かしらのこともできる override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if (segue.identifier == "決めたidentityUnwind Segue") { // let nextViewController: nextViewController = segue.destinationViewController as! nextViewController }
でできる
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if (segue.identifier == "playscore") { let nextViewController: nextViewController = segue.destinationViewController as! nextViewController nextViewController.delegate = self } }
ちなみによく忘れるsegueとdelegateはこう。