刚发现这个问题的时候太都头疼了,没有init怎么viewDidLoad呢??
后来发现这是因为重载的原因,父类里面同样有initWithNibName方法,这样执行的顺序就是:
initWithNibName(父类) -> viewDidLoad (子类)-> viewDidLoad (父类)-> initWithNibName(子类)
中间的部分是交叉执行的,因为子类会调用[super viewDidLoad], 这样就会执行父类的viewDidLoad函数。
解决方法很简单:如果你父类里面initWithNibName没有做任何工作,直接删除就可以了。
viewDidLoad执行早于initWithNibName,布布扣,bubuko.com
viewDidLoad执行早于initWithNibName
原文地址:http://www.cnblogs.com/clumsy1006/p/3774763.html