iOS5 と iOS6 を実行しているユーザーの両方をサポートしたいと考えています。しかし、たとえばUIViewController
のメソッド-viewDidUnload
は iOS6 で廃止されました。では、iOS6 を実行しているユーザーではなく、iOS5 を実行しているユーザーにはどのように使用すればよいでしょうか?
2 に答える
コードでこのメソッドを引き続き使用できますが、呼び出されません。どうしても呼び出したい場合は、 で呼び出すことができますdidReceiveMemoryWarning
。実際、古い iOS のコードもそこに移動します。
あなたが興味を持つかもしれない他の変更は、回転に関連しています。新しい iOS6 メソッドを実装することも、古いメソッドを保持することもできます。これらは互いに干渉しません。
…への呼び出しを続けても問題ありませんが、viewDidUnload
</p>
これに関する WWDC の会談からの情報は、iOS6 の状況ではviewWillUnload
and for だけでなく、iOS 5 と iOS 6 の両方で使用されるコードから削除する必要があるということです。viewDidUnload
WWDC のスライド プレゼンテーションをナレーションしている Apple の男によって与えられた正当な理由は、Apple がある程度の研究を行い、回避可能なクラス全体のクラッシャーを解決し、ごくわずかなメモリしか扱っていないと結論付けたということです。
推奨事項としては、アプリに絶対に必要な現在これらのいずれかにあるものは、おそらく viewDidDisappear:animated: または dealloc (メモリを返す必要がある大きな共有のもの) に表示されるべきであり、多くの場合があるということです。どちらも必要ないところ。
(擁護者ではなく、この件に関する WWDC の資料から学んだことを伝えているだけです …)