我正在通过ASIHTTP请求下载音频文件。当我并行下载三个或更少数量的文件时,它工作正常,但是当我尝试并行下载更多第四个文件时,它会在项目中的所有tableViews上显示一个活动指示器而不显示表数据? 这是我的代码
UIProgressView *_progressBar = [[UIProgressView alloc] init];
ASIHTTPRequest *request;
request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:trimmedString]];
[request setDelegate:self];
[request setDownloadDestinationPath:filePath];
[request setDownloadProgressDelegate:_progressBar];
[request setShowAccurateProgress:YES];
[request setShouldContinueWhenAppEntersBackground:YES];
[request setDidFinishSelector:@selector(downloadedSuccessfully:)];
[request setDidFailSelector:@selector(downloadedFailure:)];
[request startAsynchronous];
我对Iphone开发没有那么多经验,所以请随时提供帮助。 提前谢谢。
答案 0 :(得分:2)
我想最好使用ASINetworkQueue
并通过将其作为操作添加到队列来执行ASIHTTPRequest
。
ASINetworkQueue
(如NSOperationQueue
)具有maxConcurrentOperationCount属性。我使用了超过5个并发操作,它们真的同时运行。