0

我正在使用此 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");

}

然后在同一个控制器的其他地方:

[self.asyncImageLoader loadImageWithURL:url target:self.thumb success:@selector(thumbImageLoadSucces:) failure:@selector(thumbImageLoadError:)];

谁能告诉我为什么我不断收到这个错误?我已经在 SO 上尝试了针对此错误的其他解决方案,但没有任何帮助(这主要是代码中的错字,但我检查了我的代码是否有错误)。

4

3 回答 3

2

大概你的目标错了。它需要是:

[self.asyncImageLoader loadImageWithURL:url target:self success:@selector(thumbImageLoadSucces:) failure:@selector(thumbImageLoadError:)];

异步加载器将在目标上执行这些选择器。所以它是需要回应他们的目标。然后在成功和失败方法中,您将在图像视图上设置图像。

于 2012-11-08T11:50:43.857 回答
1

我认为您的问题在于您的目标位置尝试更改此

[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

于 2012-11-08T11:50:45.713 回答
0

这是问题:

[target performSelectorOnMainThread:success withObject:image waitUntilDone:NO];

您忘记添加选择器。你需要这样写:

[target performSelectorOnMainThread:@selector(thumbImageLoadSucces:) withObject:image waitUntilDone:NO];
于 2012-11-08T11:50:54.233 回答