从ASIHTTPRequest切换到AFNetworking - ASINetworkQueue问题

BBo*_*eld 7 objective-c asihttprequest ios afnetworking

我正在处理一个问题,我必须在队列中下载大约10个不同的大文件,我需要显示一个进度条,指示总传输的状态.我在iOS4中使用ASIHTTPRequest工作得很好,但我正在尝试转换到AFNetworking,因为ASIHTTPRequest在iOS5中存在问题而不再维护.

我知道您可以使用AFHTTPRequestOperation的downloadProgressBlock报告各个请求的进度,但我似乎找不到报告将在同一个NSOperationQueue上执行的多个请求的整体进度的方法.

有什么建议?谢谢!

小智 0

我会尝试使用子类对 UIProgressView 进行子类化,该子类跟踪您正在观看的所有不同项目,然后具有将它们的进度添加在一起的逻辑。

使用这样的代码也许:

 @implementation customUIProgressView

-(void) updateItem:(int) itemNum ToPercent:(NSNumber *) percentDoneOnItem {
  [self.progressQueue  itemAtIndexPath:itemNum] = percentDoneOnItem;

  [self updateProgress];
}
-(void) updateProgress {
  float tempProgress = 0;
  for (int i=1; i <= [self.progressQueue count]; i++) {
    tempProgress += [[self.progressQueue  itemAtIndexPath:itemNum] floatValue];
  }
  self.progress = tempProgress / [self.progressQueue count];
}
Run Code Online (Sandbox Code Playgroud)