0

awakeFromNibbegin が複数回呼び出されることを発見したのでloadView、(nib の読み込み) 初期化が繰り返し発生するのを防ぐために、次の方法で実装しようとしました。

- (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

loadViewnib を使用している場合、通常は呼び出されません (viewは既に設定されているため)。しかし、本当の問題は、なぜこのようにビューの読み込みプロセスと戦おうとしているのかということです。が複数回呼び出されている場合awakeFromNibは、このクラスのインスタンスが複数あることを示しています。それぞれが への呼び出しを取得しますawakeFromNib(これは予期される動作です)。これが驚くべきことである場合は、複数のインスタンスがある理由を掘り下げる必要があります。しかし、このようにビューの読み込みメカニズムを覆そうとするべきではありません。

于 2013-08-27T20:59:58.420 に答える