假设我有一个storyboard
场景,其中有一个UIViewController
自定义类设置为ParentViewController
. 我想创建一个ChildViewController
几乎所有事情都一样ParentViewController
但只自定义一些行为的东西。ParentViewController
'sinit
从情节提要中加载场景。
我现在拥有的是ChildViewController
子类化ParentViewController
。当ChildViewController
通过[super init]init
调用时ParentViewController
,init
ParentViewController 会加载场景,这反过来使我的类成为 a ParentViewController
,即使它是一个ChildViewController
. 之后,ParentViewController 的方法被调用。
我可以通过使用策略模式来解决这个问题,根据需要提供自定义行为的视图控制器对象。但是我正在使用的代码也是 Class 类型的键,所以我真的需要 aChildViewController
保持 a ChildViewController
,否则逻辑下线会做错事。
问题 1:在这种情况下,object_setClass
将课程设置回原来的状态是否安全?
问题2:如果我这样做了,我就不再需要这个策略了吗?我假设一旦类被设置回来,正确的子类方法就会被调用。
我只是担心在框架首先为我更改类时更改类可能会破坏其他内容。