我正在使用此asyncimageloader dogaine andsyncimageView。
当我尝试加载图像资源时,方法loadImageWithUrl,我一直遇到错误: unrecognized selector sent to instance
。
类(Asyncimageloader)正在尝试执行这样的选择:
[target performSelectorOnMainThread:success withObject:image waitUntilDone:NO];
我的代码就是这样:
-(void)thumbImageLoadSucces:(id)sender {
NSLog(@"imageloadedsucces");
}
-(void)thumbImageLoadError:(id)sender {
NSLog(@"imageloadederror");
}
,然后在同一控制器中的其他地方:
[self.asyncImageLoader loadImageWithURL:url target:self.thumb success:@selector(thumbImageLoadSucces:) failure:@selector(thumbImageLoadError:)];
有人可以告诉我为什么我会遇到这个错误吗?我在此处尝试了此错误的其他解决方案,但是没有任何帮助(这主要是代码中的错别字,但我检查了我的代码是否错误)。
大概您的目标错误。它需要:
[self.asyncImageLoader loadImageWithURL:url target:self success:@selector(thumbImageLoadSucces:) failure:@selector(thumbImageLoadError:)];
异步加载程序将在目标上执行这些选择器。因此,需要对他们做出回应的目标。然后在成功中&故障方法您将在图像视图上设置图像。
我认为您的问题在于目标位置尝试更改此
[self.asyncImageLoader loadImageWithURL:url target:self.thumb success:@selector(thumbImageLoadSucces:) failure:@selector(thumbImageLoadError:)];
进入
[self.asyncImageLoader loadImageWithURL:url target:self success:@selector(thumbImageLoadSucces:) failure:@selector(thumbImageLoadError:)];
即。self.thumb
进入self
这是问题:
[target performSelectorOnMainThread:success withObject:image waitUntilDone:NO];
您忘了添加选择器。您需要像:
一样写[target performSelectorOnMainThread:@selector(thumbImageLoadSucces:) withObject:image waitUntilDone:NO];