1

私は、viewDidLoadを介して接続を確立し、データをテーブルにプルするIPhoneアプリに取り組んでいます。誰かがタブからタブに切り替えたり、このコントローラーでアプリを閉じて再度開いたりした場合でも、コントローラーが表示されるたびにコントローラー、または少なくともテーブルをリロードしてほしいです。これを行う方法はありますか?何も見つからないようですが、探すのも難しいです。いつコードをviewDidLoadに配置するかについての議論を見つけましたが、コントローラーが表示するすべてのメソッドで実行される別のメソッドは見つかりませんでした。

ありがとう、シェリル

4

2 に答える 2

2

使いたい

-(void)viewDidAppear:(BOOL)animated {

    [super viewDidAppear:animated];

    //code to reload table viewdata

}

ビューが表示されるたびに、このメソッドが呼び出されます。私はこれを私のアプリでよく使用します。

于 2013-01-16T21:34:49.637 に答える
1

1か所だけにコードを挿入してそれを行う方法はありません。

たとえば、コードの必要な部分からカスタムの「リロード要求」通知を送信するなどの回避策を考えることができます。

  1. viewDidAppear:ビューコントローラで
  2. applicationDidBecomeActive:(表が提示されている場合)
  3. tabBarController:didSelectViewController:(テーブルでコントローラーに切り替えた場合)
  4. tabBar:didSelectItem:(同上)

ビューコントローラでは、この通知を確認し、必要に応じてデータをリロードするだけです。

しかし、もっと重要なことは何ですか:あなたは本当にそのような厳しい要件の下でデータをリロードする必要がありますか?ほとんどの場合、データのリロードは次の場合に発生します

  1. ビューコントローラviewDidLoad:はと呼ばれます
  2. 手動で開始されます(ボタンなど)
  3. 最後の更新を受信して​​から長い時間が経過しました

そうでなければ、それはただのやり過ぎです。

于 2013-01-16T21:32:29.433 に答える