カスタム クラスが に設定された を含むstoryboard
シーンがあるとします。とほとんどすべて同じですが、いくつかの動作をカスタマイズする を作成したいと思います。はストーリーボードからシーンをロードします。UIViewController
ParentViewController
ChildViewController
ParentViewController
ParentViewController
init
私が今持っているのはChildViewController
サブクラス化ParentViewController
です。ChildViewController
のinit
呼び出しが[ super init ParentViewController
]init
を介して行われると、ParentViewController がシーンをロードし、クラスParentViewController
がChildViewController
. その後、ParentViewController のメソッドが呼び出されます。
戦略パターンを使用して、必要に応じて動作をカスタマイズするビュー コントローラー オブジェクトを提供することで、これを回避できます。しかし、私が取り組んでいるコードは Class タイプのキーでもあるため、ChildViewController
を維持する必要があり、そうChildViewController
しないとロジックが間違ったことを行います。
質問 1: この場合object_setClass
、クラスを元の状態に戻すために使用しても安全ですか?
質問 2: その場合、その戦略はもう必要ありませんか? クラスが元に戻されると、適切なサブクラスのメソッドが呼び出されると思います。
そもそもフレームワークがクラスを変更したときにクラスを変更すると、他の何かが壊れる可能性があるのではないかと心配しています。