我正在Objective-C中編寫一個下載管理器,並且我已經使用了簡歷功能。我在收到數據時將數據寫入磁盤,以便在下載因任何原因而中斷時,應該從中斷的地方繼續。蘋果說你應該期待一個或多個- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
事件。在這種情況下,他們說你應該重置之前收到的任何數據,因爲你的下載被重定向,並且你已經收到的字節是無效的,所以我刪除了現有的文件並用0字節重新創建。但是,如果我多次收到此事件,我必須以部分下載的形式刪除以前收到的數據,否則會影響恢復功能的用途。有針對這個的解決方法嗎?NSURLConnection:簡歷功能
我提出的解決方案是:只重置我在第一次之後收到的- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
事件的數據。這將解決大多數情況(我會認爲)。這是邏輯上的聲音?有更好的選擇嗎?文件下載有多大可能觸發多個- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
事件?
請注意,ASIHttpRequest項目沒有更長的維護。但是你可以隨時查看代碼是如何實現的。 – jemeshsu
我現在要推薦AFNetworking – Codezy