调用[super loadView]有什么副作用

nev*_*ing 4 cocoa-touch uiviewcontroller uiview loadview ios

在文档中loadView,Apple声明:

您对此方法的自定义实现不应该调用super.

所以我试着[super loadView]用我的loadView方法调用.似乎没有什么不好的事情发生,没有任何警告.我正在使用以编程方式创建的视图loadView,而不是来自NIB.

我打电话时会发生什么(如果有的话)坏事[super loadView]

BJ *_*mer 5

调用[super loadView]将导致UIViewController执行loadView运行.除此之外,这是从NIB加载视图的方法(如果nibName已提供).因此,如果您要调用super last,它可能会覆盖您在自己的子类中执行的所有视图设置.如果你先打电话给超级,这不会有问题...除非你有任何代码-awakeFromNib或其他东西.

基本上,您不应该调用,super因为如果您以编程方式加载视图,则超类中完成的任何工作都不是您想要保留的工作.充其量,你丢掉了一堆工作.在最坏的情况下,UIViewController可能会在那里建立一些状态来假设视图的起源.

你不需要它,所以不要这样做.