私はviewWillAppear
とviewDidLoad
のどちらかを入れるのに慣れています。しかし、私はviewWillAppear
に入れるときと、いつviewDidLoad
に入れるのかを指示するいくつかのルールがあるべきだと思っていますか?いつviewWillAppearに入れ、いつviewDidLoadに入れますか?
答えて
私はこれを使います。 viewDidLoad
は、ビューのリソースがロードされるときです。ビューはまだ画面上に描画されていません。したがって、ビューのジオメトリとビジュアルを扱う計算とコードをここに入力するべきではありません。それらはviewWillAppear
またはviewDidAppear
メソッドにある必要があります。
ポップオーバー/モーダルビューが表示され、アラートビュー/ actionsheet/uiactivityControllerのビューが表示され、削除された場合
- 複数回呼び出すことができます。
これらの理由から、viewWillAppear
には、終了に時間がかかるコードを入れてはいけません。 (少なくともメインスレッドで実行されているコード)。ビューごとに1回だけ実行する必要のあるコードも表示しないでください。
確かに私は確信していますが、これらは覚えておくのが簡単で、助けてくれることを願っています。
のviewDidLoad:ビューは
viewWillAppearのロードが終了したことアラートます:ちょうどビューロード
viewDidLoad
前ランは、あなたが一度しなければならないものです。ビューが表示されるたびにviewWillAppear
が呼び出されます。 UILabel
テキストの設定のように、viewDidLoad
で一度だけ行う必要があることを行う必要があります。ただし、ユーザーが表示するたびにビューの特定の部分を変更することが必要な場合があります。"Now Playing"ビューに移動するたびにiPodアプリケーションが歌詞を先頭にスクロールします。
しかし、サーバーから物事を読み込んでいるときは、待ち時間について考える必要もあります。すべてのネットワーク通信をviewDidLoadまたはviewWillAppearにパックすると、ユーザーがビューを表示する前に実行され、アプリが短時間停止する可能性があります。何らかの種類のアクティビティインジケータが表示されている未表示のビューを最初に表示することをお勧めします。あなたのネットワークで作業が完了したら、2〜2秒かかるかもしれません(または誰が知っていても失敗するかもしれません)。あなたのデータをビューに取り込むことができます。どのようにこれを行うことができるかに関する良い例は、様々なツイッタークライアントで見ることができます。たとえば、Twitterrificの著者詳細ページを表示すると、ネットワーククエリが完了するまで、ビューには「Loading ...」としか表示されません。
良い説明、ちょうど私がここでそれを読む前に:http://stackoverflow.com/questions/1579550/uiviewcontroller-viewdidload-vs-viewwillappear-what-is-the-proper-division-of –
- 1. ASP.NET IIS - 要求はいつキューに入れられますか?
- 2. viewWillAppearのviewDidLoad対IOS
- 3. viewWillAppearはいつ呼び出されますか?
- 4. @OneToManyリストはいつPlayフレームワークに移入されますか?
- 5. Python Tkinter - いくつかのエントリをforに入れます
- 6. MKMapViewとviewDidLoad/viewWillAppear/viewDidストーリーボードを使用しています
- 7. いつ、どこにhtmlのjavascriptを入れるのですか
- 8. いくつかのJavaScriptをASP.NETページに入れようとしています
- 9. guiceはいつ注入しますか?
- 10. ユーザ入力文字列をトリミングしないことはいつ受け入れられますか?
- 11. 拡張レコードはいつ導入されましたか?
- 12. いつ/ dataに入るべきか、いつ/ inst/extdataに入るべきですか?
- 13. いくつの入れ子になったコントロールを作成できますか?
- 14. オブジェクトを1つのセットに入れるか、別のセットに入れるかを選択できます。
- 15. SQL Server、Canは1つの値に対して2つの列を考慮に入れていますか?
- 16. PHPの新機能...入れ子関数について
- 17. レコードが1つだけ挿入されています
- 18. 2つの入れ子リストを分割し、2つの新しい入れ子リストを作成する方法
- 19. EJBがいつ注入されるのですか
- 20. wp7の1つのコントロールに2つの画像を入れてください
- 21. アンドロイドデバイスはいつスリープモードに入りますか?
- 22. アプリ内購入について
- 23. 私のアプリケーションを受け入れるために[NeutralResourceLanguage]についてどうすればよいですか?
- 24. Androidマーケットに入れようとしているアプリケーションについて
- 25. 入れ子レイアウトが2つしかないStackOverFlowError
- 26. SQL Server製品にストアドプロシージャが導入されたのはいつですか?
- 27. 1つのファイルにどのくらいのコードを入れるのですか?
- 28. initWithNibNameの前にViewDidLoadが呼び出されていますか?
- 29. パスカル三角形を1つのループに入れます
- 30. ウィジェットとアプリを1つのapkに入れます
Tried Google ....? –