-1

Xcode4.5にアップグレードしました。単体テストを実行すると、[view setbackgroundcolor] が [viewdidload] を呼び出さないことに気付きました。

誰かが同じ問題を抱えていましたか?

4

2 に答える 2

0

これは、文書化されていない動作であり、信頼すべきではありません。これは、コードを壊しただけなので (いつかコードが壊れます) ...

于 2012-09-21T04:38:28.323 に答える
0

iOS6をお使いですか?

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

iOS 6 より前では、メモリ不足の警告が発生したとき、後で再読み込みまたは再作成できることがわかっている場合、UIViewController クラスはそのビューをパージしていました。これが発生した場合は、viewWillUnload メソッドと viewDidUnload メソッドも呼び出して、ビュー階層に関連付けられているすべてのオブジェクトの所有権を放棄する機会をコードに与えます。これには、nib ファイルからロードされたオブジェクト、viewDidLoad メソッドで作成されたオブジェクト、オブジェクトは実行時に遅延して作成され、ビュー階層に追加されます。iOS 6 では、ビューがパージされることはなく、これらのメソッドが呼び出されることもありません。メモリが少ないときにView Controllerが特定のタスクを実行する必要がある場合は、didReceiveMemoryWarningメソッドをオーバーライドする必要があります。

于 2012-09-21T04:38:47.773 に答える