1

我想在多個按鈕點擊上執行下載,並且這些按鈕是動態創建的。並且每個按鈕都分配有不同的網址。如何使用ASINetworkQueue顯示多個下載進度

我想同時執行多個下載操作,並且還想更新不同UIProgressView的每個下載的下載進度。

我被告知要使用ASINetworkQueue方法,但在這一個中,我該如何動態地向隊列中添加請求?還是有其他方式或示例代碼?

請幫忙。

示例代碼:

- (void)fetchThisURLFiveTimes:(NSURL *)url 
{ 
    [myQueue cancelAllOperations]; 
    [myQueue setDownloadProgressDelegate:myProgressIndicator]; 
    [myQueue setDelegate:self]; 
    [myQueue setRequestDidFinishSelector:@selector(queueComplete:)]; 
    int i; 
    for (i=0; i<5; i++) { 
     ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
     [myQueue addOperation:request]; 
    } 
    [myQueue go]; 
} 

- (void)queueComplete:(ASINetworkQueue *)queue 
{ 
    NSLog(@"Value: %f", [myProgressIndicator progress]); 
} 
+0

讀取隊列中多個操作的NSOperationQueue。 – 2012-04-26 12:53:58

+0

你有沒有設置self.myQueue = [ASINetworkQueue隊列]? – CarlJ 2012-04-30 08:31:14

回答

1

簡單的添加新的操作/請求隊列:

[networkQueue addOperation:<#(NSOperation *)#>] 
    [networkQueue addOperations:<#(NSArray *)#> waitUntilFinished:<#(BOOL)#>] 

,你可以通過設置跟蹤的具體要求的進展情況:

[request setDownloadProgressDelegate:<#(id)#>] 

//如果downloadProgressDelegate是NSProgressI ndicator,我們設置 其MaxValue的爲1.0,所以我們可以更新它,就好像它是一個UIProgressView

+0

我試過這個,但沒有任何事情發生。我用我用過的代碼更新了我的問題。 – Mithuzz 2012-04-27 04:46:40

1

我相信ASI已經停止了支撐。我的公司已經開始使用RestKit作爲替代方案,僅供參考。請參閱其頁面頂部的標題:http://allseeing-i.com/ASIHTTPRequest/

+0

我可以看到RestKit涵蓋了很多主題,讓我檢查一下。 :) – Mithuzz 2012-04-27 06:38:52