【swift】Buttonが押されたときにSegueを実行してなんらかの処理をする【CoffeeNote開発メモ】

クラスメソッドさまさまを参考にさせていただいて.

http://dev.classmethod.jp/references/ios-8-xcode-6-swift-savedata/

saveボタンにメソッドとsegueを振ってExitするようにしたのだけど,どうやらそうするとbuttonにIBActionでつなげたメソッドは呼ばれないみたい.

と思ってぐぐってたらまたまたクラスメソッドさまにお世話になった笑

http://dev.classmethod.jp/smartphone/iphone/ios_unwind-segue/

先ほど設定したUnwind Segueは実行時に設定したアクションメソッドを呼び出します。Unwind Segueの実行時には以下の順で処理が行われます。

  1. 遷移元ビュー(現在表示中のビュー)のViewControllerのcanPerformUnwindSegueAction:fromViewController:withSender:メソッドの呼び出し
  2. 遷移元ビューのViewControllerのprepareForSegue:sender:メソッドの呼び出し
  3. Unwind Segueで設定された遷移先ビューのアクションメソッドの呼び出し
  4. セグエ実行

なるほどなああ.ちゃんとsegue呼ばれる前に遷移前でなんかしらの処理できるようにには考慮されてるのか.すげえ.

ということで2のprepareForSegue:senderを使ってさっきのIBActionで行っていた処理を行う感じにした.