0

假设我有一个storyboard场景,其中有一个UIViewController自定义类设置为ParentViewController. 我想创建一个ChildViewController几乎所有事情都一样ParentViewController但只自定义一些行为的东西。ParentViewController'sinit从情节提要中加载场景。

我现在拥有的是ChildViewController子类化ParentViewController。当ChildViewController通过[super init]init调用时ParentViewControllerinitParentViewController 会加载场景,这反过来使我的类成为 a ParentViewController,即使它是一个ChildViewController. 之后,ParentViewController 的方法被调用。

我可以通过使用策略模式来解决这个问题,根据需要提供自定义行为的视图控制器对象。但是我正在使用的代码也是 Class 类型的键,所以我真的需要 aChildViewController保持 a ChildViewController,否则逻辑下线会做错事。

问题 1:在这种情况下,object_setClass将课程设置回原来的状态是否安全?

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

我只是担心在框架首先为我更改类时更改类可能会破坏其他内容。

4

0 回答 0