0

カスタム クラスが に設定された を含むstoryboardシーンがあるとします。とほとんどすべて同じですが、いくつかの動作をカスタマイズする を作成したいと思います。はストーリーボードからシーンをロードします。UIViewControllerParentViewControllerChildViewControllerParentViewControllerParentViewControllerinit

私が今持っているのはChildViewControllerサブクラス化ParentViewControllerです。ChildViewControllerinit呼び出しが[ super init ParentViewController]initを介して行われると、ParentViewController がシーンをロードし、クラスParentViewControllerChildViewController. その後、ParentViewController のメソッドが呼び出されます。

戦略パターンを使用して、必要に応じて動作をカスタマイズするビュー コントローラー オブジェクトを提供することで、これを回避できます。しかし、私が取り組んでいるコードは Class タイプのキーでもあるため、ChildViewControllerを維持する必要があり、そうChildViewControllerしないとロジックが間違ったことを行います。

質問 1: この場合object_setClass、クラスを元の状態に戻すために使用しても安全ですか?

質問 2: その場合、その戦略はもう必要ありませんか? クラスが元に戻されると、適切なサブクラスのメソッドが呼び出されると思います。

そもそもフレームワークがクラ​​スを変更したときにクラスを変更すると、他の何かが壊れる可能性があるのではないかと心配しています。

4

0 に答える 0