我遇到了一个有趣的问题。我有一个视图控制器:
LoginViewController *viewController = [LoginViewController alloc] init];
在方法中initWithNibName:bundle:
,awakeFromNib
我有一些初始化代码。LoginViewController 有一个名为 LoginViewController.xib 的 .xib 文件。
但是,针对 iOS 9 构建,这些方法永远不会被调用,代码也永远不会运行。但是,除非我LoginViewController
这样初始化:
LoginViewController *viewController = [LoginViewController alloc] initWithNibName:nil bundle:nil];
然后代码运行,它工作得很好。似乎正在加载 .xib 文件,但initWithNibName:bundle:
从未awakeFromNib
调用过。
有谁知道为什么在awakeFromNib
存在相应的 .xib 时默认不调用 iOS 9 中的原因?这个问题在 iOS 8 中不存在(awakeFromNib
即使我只是用来init
初始化我的视图控制器也被调用)。