1

私はiOS5ストーリーボードアプリを持っており、それを使用して、最初のビューコントローラー「A」で特定のボタンが押されたときに、ビューコントローラー「B」をナビゲーションスタックにプッシュしています。ボタンを押した後、「B」には Web サービスから取得されたデータがロードされます。

ユーザーが戻るナビゲーション ボタンを押してからボタンを押して「B」に戻ると、B は完全にリセットされます。これは Storyboard が ViewController B を再作成していることを理解しています。これが起こらないようにするにはどうすればよいですか? この問題を解決するための適切な設計パターンを探しています。

4

1 に答える 1

3

なぜこれが起こるのかを明確にするだけです。戻るボタンを押すとすぐに、viewController 'B' がスタックからプッシュされ、メモリから削除されます。これを回避するには、AppDelegate で viewController 'B' への強力なポインター プロパティを作成する必要があります。次に、viewWillAppear で、このプロパティが null かどうかを確認し、null の場合は通常どおりに値を設定します。そうでない場合は、既に viewController の準備ができていることがわかり、代わりにそれを使用します。

于 2012-05-09T08:01:18.160 に答える