NSObject のメモリ管理の定石である init で確保したメモリは dealloc で破棄することは間違えないのだが
UIViewController では viewDidload で確保したメモリを viewDidUnload で破棄して
deallocで破棄しない例がよくあるので間違えないようにしなければなりません。
→viewDidloadで確保したメモリはviewDidUnloadとdeallocの両方で破棄しなければならない
※viewDidloadとviewDidUnload は名前こそ対のメソッドのように思いがちだがそうではない。
viewDidUnloadはメモリ不足警告をアプリが受け取った場合にdidReceiveMemoryWarningメソッドから呼び出される。
メモリ不足警告が起こらない場合にはviewDidUnloadは呼び出されない。
なので、viewDidloadで確保したメモリの破棄処理をviewDidUnloadのみに記述しdeallocに記述しないと、メモリ不足警告がでない場合にメモリの破棄がされないということが起こる。
最終更新:2013年11月05日 11:30