1

複数のボタンクリックでダウンロードを実行したいのですが、これらは動的に作成されるボタンです。また、各ボタンには異なる URL が割り当てられています。

複数のダウンロード操作を同時に実行し、各ダウンロードの進行状況を異なる で更新したいと考えています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]);
}
4

2 に答える 2

1

キューに新しい操作/リクエストを追加するだけです。

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

次の設定を行うことで、特定のリクエストの進行状況を追跡できます。

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

// downloadProgressDelegateがNSProgressIndicatorの場合、MaxValueを1.0に設定して、UIProgressViewであるかのように更新できるようにします。

于 2012-04-26T13:03:09.173 に答える
1

ASI はサポートされなくなったと思います。私の会社は、FYI の代わりに RestKit を使い始めました。彼のページの上部にあるヘッダーを参照してください: http://allseeing-i.com/ASIHTTPRequest/

于 2012-04-26T13:19:50.867 に答える