回答:
viewDidLoadは、一度行う必要があることです。viewWillAppearは、ビューが表示されるたびに呼び出されます。UILabelテキストを設定するなど、viewDidLoadで一度だけ実行する必要があることを行う必要があります。ただし、ユーザーが表示するたびにビューの特定の部分を変更したい場合があります。たとえば、「Now Playing」ビューに移動するたびに、iPodアプリケーションが歌詞を上にスクロールして戻します。
ただし、サーバーからデータを読み込む場合は、遅延についても考慮する必要があります。すべてのネットワーク通信をviewDidLoadまたはviewWillAppearにパックすると、ユーザーがビューを表示する前にそれらが実行され、アプリが短時間フリーズする可能性があります。最初に、ある種のアクティビティインジケータを含む未入力のビューをユーザーに表示することをお勧めします。1〜2秒かかる可能性がある(または失敗する可能性もあります-だれが知っているか)ネットワークの使用が終了したら、ビューにデータを入力できます。これを行う方法の良い例は、さまざまなTwitterクライアントで見ることができます。たとえば、著者の詳細ページをTwitterrificで表示すると、ネットワーククエリが完了するまで、ビューには「読み込み中...」としか表示されません。
依存しますが、ビューを開くたびにデータをロードする必要がありますか?または一度だけ?
viewDidLoad:
どのような処理であっても、一度行う必要があります。
viewWilLAppear:
ページが読み込まれるたびに変更する必要がある処理。
ラベル、アイコン、ボタンのタイトル、またはほとんどのdataInputedByDeveloper は通常変更されません。名前、写真、リンク、ボタンのステータス、リスト(tableViewsまたはcollectionViewの入力配列)またはほとんどのdataInputedByUser は通常変更されます。
viewWillAppear
の中で最新のつぶやきをクエリして確認できると言っています。viewDidAppear
それには遅すぎる