XXXViewControllerの親クラスを差し替えたいときありますよね?
UIKit内で言えばUITableViewController
とかはその代表格。
外部ライブラリで言うと、Google Analytics SDKのGAITrackedViewController
とか。
要するに、XXXViewControllerの継承して実現したい機能があるのに、既にYYYViewControllerのサブクラスなので使えないよーとなってしまうケース。
で、既存のものは置いておくとしても、自分が作るライブラリのXXXViewControllerについては、なんとかその親クラス差し替えの需要に応えられないものかなあと。
runtime使う?
いちおう class_setSuperclass
という関数があるのですがDeprecated…
なんか良い方法ないかな?と考えた結果、今のところ以下のかんじに落ち着きました。