viewWillUnload
は現在非推奨であり、もう当てにすることはできません。それについての質問は、以下の参照につながります。
アップル より:
iOS 6 では、UIViewController の viewWillUnload および viewDidUnload メソッドは非推奨になりました。これらのメソッドを使用してデータを解放していた場合は、代わりに didReceiveMemoryWarning メソッドを使用してください。このメソッドを使用して、View Controller のビューが使用されていない場合に参照を解放することもできます。これを行う前に、ビューがウィンドウ内にないことをテストする必要があります。
WWDC 2012 の引用:
メソッド viewWillUnload および viewDidUnload。もう電話するつもりはありません。つまり、私たちが行った費用便益の方程式と分析のようなものがあります。初期の頃は、メモリ警告が発生したときにビューをアンロードすることを確実にするために、実際のパフォーマンスが必要でした。あらゆる種類のグラフィックスやバッキング ストアなどがあり、それらもアンロードされました。ビューとは別にそれらをアンロードするようになったので、それらをアンロードすることはそれほど大したことではありません。また、ポインターが存在する場所に非常に多くのバグがありました。
編集: iOS 5.1 の問題についてviewDidUnload
は、ビューが作成されたときに作成したものを解放するために使用されるため、オブジェクトを作成または保持しない限り、viewDidLoad
またはnib
でそれらを解放することはできませんviewDidUnload
。