Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

presentViewControllerでのCallbackの実装

これが一番柔軟でええわ。Delegateを経由して子供からコールバック用の処理を叩く


var delegate: ParentViewControllerDelegate!

func closeModalView() {
        self.dismissViewControllerAnimated(true, completion: {
            //親のViewControllerでimplしたデリゲートで定義した処理を呼ぶ
           //このdelegateは親のインスタンスでないと行けないので、present
          //するViewControllerを初期化時にself等でインスタンスをセットしておく
            self.delegate.changeText("This text was changed by delegate.")
        })
    }

デリゲートは継承関係もクソもなくコールバックを強制できるのが便利よね〜