[英]iPhone objective c: unrecognized selector sent to instance AsyncImageLoader
我正在使用此AsyncImageLoader异步加载图像: AsyncImageView 。
当我尝试使用方法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");
}
然后在同一Controller的其他位置:
[self.asyncImageLoader loadImageWithURL:url target:self.thumb success:@selector(thumbImageLoadSucces:) failure:@selector(thumbImageLoadError:)];
谁能告诉我为什么我不断收到此错误? 我在SO上尝试了针对此错误的其他解决方案,但没有任何帮助(这主要是代码中的错字,但我检查了代码是否有错误)。
大概您的目标错误。 它必须是:
[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];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.