我正在使用此代码做一些查找我的设备:

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参考,但没有创建一个nsoperationQueue对象,即“exc_bad_access”错误的根本原因。您应该使用nsoperationQueue对象分配生成的queue,然后使用它。

将代码的第一行更改为

NSOperationQueue* quququ = [[[NSOperationQueue alloc] init] autorelease];
.

这将解决您的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top