サーバーからの更新データを1日2回チェックする時間を設定する必要があります。午前9時と午後9時を想定していますが、その方法がわかりません。
スレッドを作成し、毎回実行し、設定を使用して現在の時刻を確認します。それらが等しい場合は、タスクを実行しますか?この方法は良いですか?それは悪いパフォーマンスだと思います。
サーバーからの更新データを1日2回チェックする時間を設定する必要があります。午前9時と午後9時を想定していますが、その方法がわかりません。
スレッドを作成し、毎回実行し、設定を使用して現在の時刻を確認します。それらが等しい場合は、タスクを実行しますか?この方法は良いですか?それは悪いパフォーマンスだと思います。
アプリの起動時に、を使用して現在の時刻を取得できます(timeInterval0と呼ばれる現在の時刻のtimeIntervalも取得できます)[NSDate date]
。現在の時刻が今日の午前9時未満の場合は、timeInterval1と呼ばれる今日の午前9時のtimeIntervalを取得できます。次に、現在から目標時間までの秒数を取得し、NSTimerを使用してメソッドを呼び出します。遅延は秒の間です。
あなたの方法では、更新を確認することができます。また、上記のように、次の9:00までの秒数も計算する必要があります。
スレッドを使用しますが、等しい場合は毎秒チェックする代わりに。NSNotificationを使用できます。時間が同じになると、データを取得するための通知が送信されます。
あなたはこれを読むことができます:iOSの時限バックグラウンド処理
このチュートリアルも実行できます:http://mobile.tutsplus.com/tutorials/iphone/ios-multitasking-local-notifications/
私も読んでいます。私にとっても何か新しいことです。最高はNSLocalNotificationsです。これを見てください:リマインダーアプリ
ローカル通知のドキュメント:ローカル通知