9

注意:この質問は、 の最近の廃止にviewDidUnload関連しています。このトピックに関する「素晴らしい」論理的な回答を見てきましたが、どうやらそれらは間違っていることが証明されています。ご覧のとおり、このトピックは非常に紛らわしいので注意して進めてください。

Appleのドキュメントから:

ただし、ビューがウィンドウに関連付けられていない場合、システムはこれらの高価なリソースを自動的に解放します。ほとんどのビューで使用される残りのメモリは十分に小さいため、システムがビュー階層を自動的に消去して再作成する価値はありません。

だから... iOS 6では、viewControllerのビューを明示的にnilに設定しない限り(手動でアンロードしない限り)、viewDidLoad割り当てられたviewControllerインスタンスに対してアプリケーションの存続期間中に一度だけ呼び出されると安全に想定できますか?

4

1 に答える 1

7

iOS 6 の時点で、サブクラスを に戻すコードを記述しない限り、UIViewControllerサブクラスは 1 回しか受信しません。viewDidLoadviewnil

ただし、システムが提供する複雑な View Controller のような動作には依存しませんUIImagePickerController。おそらく、それ自体viewを nil に設定します。

于 2012-10-31T06:25:06.693 に答える