2012-03-18 37 views
0

我想通過https下載幾個頁面,使用NSURLConnection和NSOperationQueue(?)。我不想使用ASIHTTPRequest或類似的,因爲當Apple更新iOS時,我不希望我的代碼依賴他們更新他們的代碼(如果需要)。我想使用普通的蘋果的東西。使用iOS標準類的異步後臺下載等

約100頁將被下載,他們有一個網址的圖像,也應該下載。在下載前一頁之前,不知道該鏈接。我相信5或者更多的併發下載應該在同一時間運行。

如何跟蹤我的下載的所有內容和進度,並同時完成響應用戶界面?

回答

0

我認爲你可以像你寫的那樣使用NSURLConnection和NSOperationQueue。 NSURLConnection的有一類函數

+ (void)sendAsynchronousRequest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse*, NSData*, NSError*))handler 

在那裏,你可以定義NSOperationQueue它應該屬於您可以定義一個完成處理程序。處理程序是一個將在NSURLConnection完成時執行的塊。在該塊中,您可以訪問NSURLResponse。 由於整個事物是異步的,您可以訪問用戶界面。

這裏的一個很大的優勢是塊可以在不同的cpu內核上執行。