2011-12-05 28 views
1

通過目標c iOS中的http請求檢查遠程數據庫中數據的正確方法是什麼?我正在考慮每5分鐘調用一次nstimer。 nstimer將觸發一個帶有線程的函數。這是正確的方式嗎?這是應用程序進入後臺時工作嗎?每五分鐘檢查遠程數據庫上的數據ios

任何幫助表示讚賞。

回答

1

線程(與程序中的所有執行一樣)在進入後臺時會暫停 - 如果它正在等待網絡響應,則在應用程序返回到前臺後,該響應將失敗。此外,你需要明確告訴iOS當你開始一個任務,你想繼續在後臺(beginBackgroundTaskWithExpirationHandler:你的UIApplication單身人士),當你完成了任務(endBackgroundTask:)。然而,這只是最多十分鐘的時間,所以我敢說,你將無法在後臺繼續使用 NSTimers。但是,是的,您所描述的方法適用於應用程序處於前臺的情況。

+0

謝謝艾倫!非常感謝!我應該使用推送通知,以防它進入後臺或當我猜測應用程序關閉時。其實我不知道推送通知是否僅在應用程序關閉或僅在後臺或兩者兼而有之時才起作用。你能告訴我,如果你知道嗎? – stefanosn

+2

它適用於兩種情況,但不同;如果應用程序處於前臺,推送通知將觸發'application:didReceiveRemoteNotification:',但是在後臺它需要用戶選擇推送通知以便知道它已收到。 –

+0

謝謝我感謝你的幫助Alan! – stefanosn