2010-03-12 73 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];,它會爲你工作的很好。

希望這有助於。

謝謝。

相關問題