unwind segue が難しくて・・・

unwind segue は難しい。以前 try して、結局うまくいかず、今回は、ま、実装したけどちょっと妥協したって感じ。これね、わかりにくいです。

まず、unwind segue として実装する method は、先に m なり h なりに書いておく必要があるということ。書くのは遷移元。繊維元と書くと、わかりにくくなるので、画面1と記述。

次に、遷移先の画面 2 から、画面 1 の Exit に線を引っ張るわけですが、unwind segue は action method なので、ボタンとか、そういうのからしか呼べない。Present modally とかしてて、スワイプ下とかでは呼ばれない。しょうがないので、Over Full Screen にして、close button を付けて、ボタンから Exit に線を引く。Exit は遷移元、すなわち、画面1の Exit に引くこと。さらに、unwind segue の method は画面 1 に定義しておく。

ここまでやるとようやく method が呼ばれるわけだが、あれ?遷移先である画面 2 の class は遷移元である画面 1 ではどう表現するんだ?という問題に。例えて書くと、こんな感じに。

画面2ViewController* vc = segue.sourceViewController;

sourceViewController という property が用意されていた。

解読終わり。