1

私は2つのビューをタブバーコントローラで制御しています。リロードビューは他のタブ(iPhoneインタフェースビルダー)からビューに戻るときにロードされました

2番目のタブから1番目のタブに戻ると、2番目のタブで行った変更に基づいて1番目のビューのすべてのデータを再読み込みする必要があります。

理由を説明しない方がいいかもしれません。なぜなら、多数の回避策を使って複雑すぎるコードを試してみると、おそらくあなたに気づくでしょう。

他のタブからビューに戻ると、基本的にviewDidLoad自体をやり直すことができますか?

EDIT:その答えは次のとおりです。viewWillAppearの代わりのviewDidLoad私は(8時間の自身の質問に答えることはできません)

答えて

0

よりもむしろviewDidAppear上のすべての時間をリロードし、ほとんどの場合、あなたが送信する方がいいでしょうと思います次に表示される次回の再読み込みを指示するメッセージ1を表示します。これにより、不要なリロード(ユーザーエクスペリエンスに悪影響を及ぼし、不要な帯域幅を使用する可能性があります)が回避されます。これを行うには、アプリの画面の流れに応じてさまざまな方法があります。それを行うための1つの方法は、次のようになります。

メッセージビュー1ポストのリロードが必要でビュー2(またはどこか他のアプリケーションで)上で起こる-whenever何かビュー1

上-create IVAR BOOL shouldReload [NSNotificationCenter defaultCenter]に「View1ShouldReload」のようなものが呼び出されました。図1の

-on負荷が(shouldReload)を次いでリロードを行うかどうかを確認viewDidAppear YES

-onに、設定shouldReloadをNOにshouldReloadフラグを設定して通知セレクタ-on

リスニング開始します。

これを行う方法は他にもたくさんあります(デリゲート、シングルトンなど)。これはアプリをより効率的に動作させる簡単な方法です。

+0

ありがとうございます - この方法をチェックします。私は80%の時間がかかると想像していますが、ビューにはリロードが必要です(とにかく重いコンテンツではありません)ので、この機会にそれほど大きな取引ではないとは思いますが、実装するには便利なツールになります –

関連する問題