2012-10-24 51 views
0

我正在使用NSURLConnection發送有關Web服務的一項操作的數據。現在用戶可以離線工作,我需要實現一個同步按鈕,它將發送與n次操作有關的數據,而且我不知道如何一致地處理NSURLConnection隊列。NSURLConnection隊列

任何雖然?

回答

1

我已經處理了離線接受用戶提交和設置NSUserdefaults隊列。如果用戶在線,則該條目將針對單個類型提交和數據庫條目訪問Web服務。

如果離線,我將用戶的數據對象存儲到NSUserDefaults中,並設置一個標誌,表明我有需要上傳的內容。

當可達性發生變化時,如果我有要上傳的數據,則將內容發送給我設置爲接收批處理數據的略有不同的服務。唯一的區別是我設置了接受序列化對象組的批處理服務,然後在服務器端進行反序列化,然後執行許多數據庫提交。

編輯:我已經創建了一個目前沒有連接到任何web服務,但是我正在使用tonymillion的Reachability類測試在線連接和正在設置,如果按鈕被按下的隊列中的示例項目時,有沒有連接。該項目將時間戳記記錄到控制檯(如果存在有效的連接)。如果沒有連接存在,我將時間戳存儲到數組,當連接返回時,我遍歷時間戳記並將存儲的時間戳記記錄在數組中。
https://github.com/propstm/webserviceQueueSample

+0

我認爲這是最好的選擇,但我認爲我不能修改Web服務。 =/ – lolol

+0

如何處理您的對象並重新建立互聯網連接後,只需執行多個單個提交到Web服務?也許使用GCD並使提交異步? – propstm

+0

嗯,我不知道如何實現,但我會看看。謝謝! – lolol