2

私は Xcode 4.5.2 で作業しています。
次の問題があります:
空でないプロジェクトからプロジェクトを作成すると、ビューがストーリーボードから初期化され、コードを追加する場合があります

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIButton *b = [UIButton buttonWithType:UIButtonTypeRoundedRect];
b.frame = CGRectMake(20, 20, 100, 100);
[self.view addSubview:b];

viewDidLoad メソッドに対しては、 addSubview メソッドの呼び出し後に再帰的に再度呼び出されますが、(空を祝福して) そうでない場合もあります。
何が問題で、それを解決する方法を誰か教えてもらえますか?
感謝します。

4

2 に答える 2

1

編集: @WDUK が正しく述べているように、次の回答は間違っています。loadViewではなく、で再帰的に説明しviewDidLoadます。

古い、間違った答え:

-[super viewDidLoad] ビュー プロパティへの呼び出しが設定されていない状態で を呼び出すと、再帰呼び出しが発生しますself.view

おそらく、ビューをファイルの所有者のビュー アウトレットに接続するのを忘れただけでしょう。

于 2012-11-20T09:30:13.133 に答える
0

デバイスが使用可能なメモリを使い果たした場合、現在表示されていない場合、ビューの割り当てが解除される可能性があります。この動作を正しく処理することを常に確認する必要があります。

たとえば、ナビゲーションまたはタブバーコントローラーを使用しているときに別のビューに切り替えた場合に発生する可能性があります。

于 2012-11-20T09:23:47.977 に答える