今天写代码,发现在通过loadNibNamed创建一个ViewController后,调用其IBOutlet的property时竟然是nil!!
反复核对一切链接都正常,而且在ViewController内部调用这些IBOutlet都没问题,试着在viewDidLoad中加了个日志,赫然发现竟然viewDidLoad在执行完loadNibNamed后并没有执行,所以IBOutlet当然是nil了!
最后的解决方案其实很简单,就是把调用IBOutlet的property的代码放到pushViewController之后,一切就都正常了。