我正在尝试显示从AFImageRequestOperation ImageRequestOperationWithRequest返回的图像:但似乎图像仅在成功块内可用。我已经尝试将它保存到类实例变量但是当我NSLog它时,它显示为null。但是,当我在成功块内部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;
}
答案 0 :(得分:0)
为什么不直接使用AFNetworking提供的UIImageView添加的方法?
来自git page:
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"]];
我知道这并没有直接回答你的问题,虽然它似乎以更简单的方式实现了你想要做的事情。