0

サーバーからの更新データを1日2回チェックする時間を設定する必要があります。午前9時と午後9時を想定していますが、その方法がわかりません。

スレッドを作成し、毎回実行し、設定を使用して現在の時刻を確認します。それらが等しい場合は、タスクを実行しますか?この方法は良いですか?それは悪いパフォーマンスだと思います。

4

2 に答える 2

2

アプリの起動時に、を使用して現在の時刻を取得できます(timeInterval0と呼ばれる現在の時刻のtimeIntervalも取得できます)[NSDate date]。現在の時刻が今日の午前9時未満の場合は、timeInterval1と呼ばれる今日の午前9時のtimeIntervalを取得できます。次に、現在から目標時間までの秒数を取得し、NSTimerを使用してメソッドを呼び出します。遅延は秒の間です。

あなたの方法では、更新を確認することができます。また、上記のように、次の9:00までの秒数も計算する必要があります。

于 2013-01-23T08:42:58.320 に答える
0

スレッドを使用しますが、等しい場合は毎秒チェックする代わりに。NSNotificationを使用できます。時間が同じになると、データを取得するための通知が送信されます。

あなたはこれを読むことができます:iOSの時限バックグラウンド処理

このチュートリアルも実行できます:http://mobile.tutsplus.com/tutorials/iphone/ios-multitasking-local-notifications/

私も読んでいます。私にとっても何か新しいことです。最高はNSLocalNotificationsです。これを見てください:リマインダーアプリ

ローカル通知のドキュメント:ローカル通知

于 2013-01-23T08:35:46.100 に答える