enviar muitos AsynchronousRequests dá um erro
Pergunta
Estou procurando meu dispositivo usando este código:
NSOperationQueue* quququ;
int i=0;
for (i=0; i<256; i++) {
//NSLog(@"%i",i);
NSString *url=[NSString stringWithFormat:@"http://%i.%i.%i.%i/",myip1,myip2,myip3,i];
//NSLog(@"urlGET = %@", url);
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:1];
[NSURLConnection sendAsynchronousRequest:request queue:quququ completionHandler:^(NSURLResponse *respons, NSData *data, NSError *error) {
//do smth
NSLog(@"data: %ld bytes. res: %@, error: %@", (long)[data length], respons, error);
}];
O que estou fazendo de errado?recebo o erro "exc_bad_access".
Solução
Na primeira linha do seu código, você apenas declara uma referência NSOperationQueue, mas não cria um objeto NSOperationQueue, que é a causa raiz do erro "EXC_BAD_ACCESS".Você deve atribuir queue
com um objeto NSOperationQueue e depois usá-lo.
Altere a primeira linha do seu código para
NSOperationQueue* quququ = [[[NSOperationQueue alloc] init] autorelease];
Isto irá resolver o seu problema.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow