私はナビゲーションベースのアプリを持っています。画面リストにはUITableView
の書籍リストがあります。書籍のリストは、HTTPリクエストを実行して動的に作成されたプロパティNSArray
にあります。 リストの行の1つをクリックすると、画面の詳細にナビゲートします。この時点でメモリの警告があるとします。 リストに戻ると、viewDidUnload
が呼び出されたのでNSArray
はnilであるため、リストは空になります。iOSメモリ管理 - viewDidUnload
この状況を処理する正しい方法は何ですか? viewDidUnload
にNSArray
をnilに設定しないでください。
ので、短い答えは私が右、nilにNSArrayのを設定してはならないということですか?これは、アプリケーションの終了時にのみNSArrayがリリースされることを意味しますか? – Adriana
最初の質問を修正してください。ビューコントローラが破壊されたときに配列が解放されます( '-dealloc'で解放したと仮定します)。ビューコントローラが常にナビゲーションコントローラのスタックにある場合、配列はアプリケーションが終了するまで生き残ります。 –
私はUIViewControllerのサブクラスの ' - (void)dealloc'メソッドで' [super dealloc] 'を呼び出していますので、ビューコントローラは破棄されます。最後の質問:私のモデルで ' - (void)dealloc'メソッドを定義するべきではありませんか?さもなければ、メモリ警告がある場合にデータが失われるでしょう...明確な説明をありがとう:) – Adriana