0

发现它awakeFromNib被多次调用后,我尝试以loadView以下方式实现以防止(笔尖加载)初始化重复发生,其中:

- (void)loadView {
    [self viewWillLoad];
    [super loadView];
    [self viewDidLoad];
}

看起来允许在 中设置某些数组和属性的好技巧viewWillLoad,但loadView绝对不会被调用。

为什么?

我在这里和通过谷歌对此做了很多研究。

4

2 回答 2

0

你没有收到loadView消息,因为你有这个 VC 和它的视图在同一个 nib 中,VC 的view出口设置为视图。由于 VC 已经有了视图,它没有理由去加载另一个视图。

于 2013-08-28T21:25:09.803 回答
-1

loadView如果您使用的是 nib,通常不会调用它(因为view已经设置)。但真正的问题是为什么您要尝试以这种方式对抗视图加载过程。如果awakeFromNib被多次调用,则表明您有该类的多个实例。每个人都会接到一个电话awakeFromNib(这是预期的行为)。如果这令人惊讶,您应该深入研究为什么有多个实例。但是你不应该尝试像这样颠覆视图加载机制。

于 2013-08-27T20:59:58.420 回答