私は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. 解任のViewControllerいつものviewDidLoadをトリガし、決してviewWillAppear
- 2. viewWillAppearのviewDidLoad対IOS
- 3. viewDidLoadとIOSのViewWillAppear
- 4. ASP.NET IIS - 要求はいつキューに入れられますか?
- 5. viewWillAppearはいつ呼び出されますか?
- 6. @OneToManyリストはいつPlayフレームワークに移入されますか?
- 7. Python Tkinter - いくつかのエントリをforに入れます
- 8. Skype Web SDK - プロファイルフィールドにはいつ入力されますか?
- 9. MKMapViewとviewDidLoad/viewWillAppear/viewDidストーリーボードを使用しています
- 10. 2つのDivを1つのボックスに入れますか?
- 11. 2つのループを1つに入れ子にするにはどうすればいいですか?
- 12. スワイプループを1つ1つずつ入れて、間にポーズを入れてください
- 13. 2つのJavaScriptイベントを入れ子にしています
- 14. いつ、どこにhtmlのjavascriptを入れるのですか
- 15. jQueryに.on()が導入されたのはいつですか?
- 16. viewdidloadからテーブルビューに行を挿入
- 17. いくつかのJavaScriptをASP.NETページに入れようとしています
- 18. どのようにいくつかの変数をNavウィジェットに入れます
- 19. Oracle - 挿入後のトリガーはいつ実行されますか?
- 20. リング偽造トークンはいつ挿入されますか?
- 21. いくつかのデータがmysqlデータベースに挿入されていません
- 22. guiceはいつ注入しますか?
- 23. 1つのキー値をテーブルに入れるべきか、またはテーブルに入れるべきでない場合に、3つのテーブルを結合するか?
- 24. ユーザ入力文字列をトリミングしないことはいつ受け入れられますか?
- 25. 列に入力された3つの値を見つけるにはどうすればよいですか?
- 26. 拡張レコードはいつ導入されましたか?
- 27. いつ/ dataに入るべきか、いつ/ inst/extdataに入るべきですか?
- 28. いくつの入れ子になったコントロールを作成できますか?
- 29. オブジェクトを1つのセットに入れるか、別のセットに入れるかを選択できます。
- 30. 入力からパーセンテージを引いて段落に入れます
Tried Google ....? –