2012-02-15 7 views
0

各セクションのヘッダーのタイトルに現在のセクションのコンテンツの日付を表示するUITableViewがあります - 日付が今日のときを除いて今日は、日付昨日だったので、昨日と表示されます。セクションヘッダーのタイトルを更新する方法

これらのタイトルは静的ではないため、新しい日が来ると変更されます。その場合は、ヘッダーのタイトルを更新するために、下にスクロールする必要があります。

このヘッダーを真夜中に更新するにはどうすればよいでしょうか?

+0

iDifferentによると、テーブルビューのデータをリロードするだけですが、データをリロードするのが明日の場合は毎分確認する予定ですか? –

+0

私はこれを確認する必要があるかどうかはわかりません。 1分ごとに確認するのは良い考えではありません。誰か推奨事項はありますか? – dhrm

答えて

2

IMHO真夜中以降にデータを自動的にリフレッシュしたり、毎回データを更新したりすることは、これが良い方法ではないと思います。あなたは、ユーザーが必要なときにいつでもそれをやり直すだけでなく、アプリケーションが起動されたとき、またはメインウィンドウが再び現れるときにデータをリロードすることができます。

あなたが本当に多分、この機能が必要な場合は、アプリを起動するたびに、あなたは深夜まで残された時間を計算することができ、あなたはリロード方法

timerNoTwo = [NSTimer scheduledTimerWithTimeInterval:secondsUntilMidnight target:self selector:@selector(refreshTableView) userInfo:nil NO]; 

そして

-(void)refreshTableView{ [tableView reloadData]; } 
を発射する NSTimerを使用
+0

本当の問題は、アプリがバックグラウンドになり、次の日に開くときに起こります。その後、アプリはちょうど最後の日から続き、ヘッダーは昨日からです。たぶん私は 'applicationDidEnterBackground'に日付を格納し、' applicationDidBecomeActive'にこの日付をチェックして、新しい日であるかどうかを確認する必要がありますか? – dhrm

+1

なぜ、単にapplicationDidBecomeActiveでテーブルビューを更新しないのですか?アプリが1週間前に背景に入ったかどうかは関係ありません。とにかくリフレッシュするだけです。 –

0

おそらく[tableView reloadData];を試して深夜の後にテーブルを更新してください。

関連する問題