2010-03-12 4 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];, и он будет отлично работать для вас.

надеюсь, что это поможет.

Спасибо.

Смежные вопросы