Appleによると、彼らはviewWill/DidUnload
のものを破壊することによって得られる利益が最小限に抑えられるほど、ビューの内部メモリ管理を改善しました。さらに、彼らは、アプリケーションがこれらの通知を適切に処理しないため、多くのアプリケーションがクラッシュし、ビューのアンロードに関連付けられていない他のものを実行することを示唆するデータを持っています。
最後に、メモリの不足のためにアプリが終了する前に最初に覚えている唯一の警告としてメモリ警告が確認されるため、実際にメモリの問題を処理する場所になります。
基本的には、viewWillUnload
とviewDidUnload
のメソッドを削除するだけです。 didReceiveMemoryWarning
とその他の適切な場所にある他のView Controller管理のメモリの問題を処理します。
EDIT私が聞いても
:それらの "appropiate場所は" 何ですか?私は ViewdidUnloadを使用していましたが、[Will/Did] Disappearビューが完全に適切ではない場合がありました。さらにコントローラのスタック のナビゲーションに行くように。それについてもっと詳しく教えてもらえますか? - Dan1one
私はそれがあなたが聞きたいものではないことを知っていますが、それは真実です:-)
一般に、あなたは非対称性を避けるべきです。したがって、元の "した"対称方法を使用して操作を元に戻す必要があります。一般的にviewDidUnload
タイプの作業はすべてdidReceiveMemoryWarning
とdealloc
で実行できるはずです。
これらの場所の両方で大部分のコードを複製しなければならないため、これは実際には変更を行わないはずです。
「ナビゲーションコントローラのスタックをさらに下に行く」という意味はわかりませんので、役に立つ例を明確にする必要があります。
viewDidDisappear
とviewDidAppear
を使用したときの問題の1つは、実際に表示されていたとき、またはその上に表示されていたビューが消えていたために表示されたときを知るのが難しいということでした。 。APIの
これらの作品は、あなたがこれらの問題に対処することになっている:iOSの6で
- (BOOL)isMovingFromParentViewController
- (BOOL)isMovingToParentViewController
- (BOOL)isBeingDismissed
- (BOOL)isBeingPresented
ような何か? –