0

我正在尝试显示从 AFImageRequestOperation ImageRequestOperationWithRequest 返回的图像:但该图像似乎仅在成功块内可用。我尝试将它保存到类实例变量中,但是当我 NSLog 它时,它显示为空。但是,当我在成功块内 NSLog 相同的实例变量时,在使用检索到的 UIImage 对其进行设置后,它实际上显示了一个十六进制值(如预期的那样)。非常感谢这里的任何帮助。

这是发生问题的代码:

imageRequest = [AFImageRequestOperation imageRequestOperationWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]] success:^(UIImage *image) {
    globalImage = image; // trying to have accessible image outside of success handler
    [self setImageThumbImage:image]; trying to set image that class will use 
    NSLog(@"Image is: %@", self.albumThumbImage); // logs an actual value
    imageRequest = nil;
}];

[albumImageRequest start];
NSLog(@"The second albumThumbImage retrieval returns: %@", globalImage); // logs null

return self;

}
4

1 回答 1

0

为什么不直接使用 AFNetworking 提供的 UIImageView 添加的方法呢?

git 页面

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 100.0f, 100.0f)];
[imageView setImageWithURL:[NSURL URLWithString:@"http://i.imgur.com/r4uwx.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder-avatar"]];

我知道这并不能直接回答您的问题,尽管它似乎以更简单的方式实现了您想要做的事情。

于 2012-10-24T03:32:10.737 回答