发现awakeFromNib
多次被调用后,我尝试以下列方式实现loadView
以防止(nib加载)初始化重复发生,并使用:
- (void)loadView {
[self viewWillLoad];
[super loadView];
[self viewDidLoad];
}
看起来是允许在viewWillLoad
中设置某些数组和属性的好方法,但绝对不会调用loadView
。
为什么?
我在这里和通过谷歌做了很多研究。
答案 0 :(得分:0)
您没有收到loadView
消息,因为您将此VC及其视图放在同一个笔尖中,并将VC的view
插座设置为视图。由于VC已有视图,因此没有理由加载另一个视图。
答案 1 :(得分:-1)
loadView
(因为view
已经设置)。但真正的问题是为什么你试图以这种方式对抗视图加载过程。如果多次调用awakeFromNib
,则表明您拥有此类的多个实例。每个人都会调用awakeFromNib
(这是预期的行为)。如果这是令人惊讶的,你应该深入研究为什么你有多个实例。但是你不应该试图像这样破坏视图加载机制。