1

複数のボタンクリックでダウンロードを実行したいのですが、これらは動的に作成されます。各ボタンには異なるURLが割り当てられています。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を参照してください。 –

+0

self.myQueue = [ASINetworkQueue queue]を設定しましたか? – CarlJ

答えて

1

シンプルなキューに新しいオペレーション/要求を追加します。

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

、あなたが設定することで、特定の要求のための進捗状況を追跡することができます

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

// downloadProgressDelegateがNSProgressIの場合ndicator、私たちは、私はASIがサポートされて停止していると信じて、それはUIProgressView

+0

私はこれを試しましたが、何も起こっていません。私は使用したコードで質問を更新しました。 – Mithuzz

1

であるかのように、我々はそれを更新することができ1.0に そのMaxValueを設定します。私の会社は、FYIの代わりにRestKitを使用し始めました。彼のページの上部にあるヘッダーを参照してください:http://allseeing-i.com/ASIHTTPRequest/

+0

私はRestKitが非常に多くのトピックをカバーしていることを確認できます。 :) – Mithuzz

関連する問題