从故事板加载后更改类类型是否危险?

时间:2012-12-20 06:47:39

标签: objective-c uiviewcontroller interface-builder

假设我有一个storyboard场景,其中UIViewController的自定义类设置为ParentViewController。我想创建一个ChildViewController来完成几乎所有与ParentViewController相同的操作,但只能自定义一些行为。 ParentViewController的{​​{1}}从故事板加载场景。

我现在拥有init子类ChildViewController。当ParentViewController的{​​{1}}通过[super init]调用ChildViewController的{​​{1}}时,ParentViewController将加载场景,从而使我的班级成为init虽然它是ParentViewController。之后调用ParentViewController的方法。

我可以通过使用策略模式解决这个问题,为视图控制器对象提供根据需要自定义行为的对象。但是我正在使用的代码也关闭了类类型,所以我真的需要一个init来保持ParentViewController,或者逻辑顺序做错了。

问题1:在这种情况下,使用ChildViewController将类设置回原来是否安全?

问题2:如果我这样做,我不再需要策略了吗?我假设一旦该类被设置回来,将调用适当的子类方法。

我只是担心当框架首先为我改变它时改变类可能会破坏别的东西。

0 个答案:

没有答案