2010-03-12 46 views
1

我必须使用ASIHTTP多下载文件从网站ASIHTTP:addOperation当其他线程正在运行

一个项目,当我添加了新的要求:

[networkQueue cancelAllOperations]; 
[networkQueue setDownloadProgressDelegate:a]; 
[networkQueue setDelegate:self]; 
[networkQueue setRequestDidFinishSelector:@selector(requestDone:)]; 

NSURL *url = [NSURL URLWithString:@"http://www.google.com"]; 
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
[request setDelegate:self]; 
[request startAsynchronous]; 
[networkQueue addOperation:request]; 

[networkQueue go]; 

它报道:

*由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* - [ASINetworkQueue addOperation:]:正在执行并且无法排队的操作'

看起来我不能在别人正在运行时添加新的请求。

欢迎任何评论

感谢

InterDev中

回答

3

如果您使用的是网络队列,入队之前,你不能开始操作。不要调用startAsynchrnous,只是将操作排入队列,网络队列将在队列出队时启动它。几乎完全是你的错误信息所说的;)

1

只是删除[request startAsynchronous];,它会为你工作的很好。

希望这有助于。

谢谢。

相关问题