많은 비동기장을 보내는 것은 오류를 제공합니다
문제
이 코드를 사용하여 장치를 찾는 일을하고 있습니다.
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);
}];
.
나는 무엇을 잘못하고 있습니까? "exc_bad_access"오류가 발생합니다.
해결책
코드의 첫 번째 줄에서는 nsoperationqueue 참조를 선언하지만 "exc_bad_access"오류의 근본 원인 인 nsoperationQueue 참조를 작성하지 않았습니다.nsOperationQueue 객체가있는 queue
를 할당 한 다음이를 사용해야합니다.
코드의 첫 번째 줄을 로 변경하십시오.
NSOperationQueue* quququ = [[[NSOperationQueue alloc] init] autorelease];
.
문제가 해결 될 것입니다.
제휴하지 않습니다 StackOverflow