ios - AFNetworking setImageWithURLRequest 未设置远程图像

标签 ios uiimageview afnetworking

我正在使用 AFNetworking 的 UIImageView+AFNetworking.h 将在线图像异步加载到 UIImageView 上。

当我使用 setImageWithURLRequest: 时,远程图像加载得很好,但是当我尝试使用 setImageWithURLRequest:placeholderImage:success:failure 时,远程图像已下载,但 UIImageView 会下载不要将它设置为它的 UIImage。

这是我的代码:

@property (strong) IBOutlet UIImageView *imageView;

-(void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];

    [_imageView setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://i.imgur.com/fVhhR.png"]]
                       placeholderImage:nil
                                success:^(NSURLRequest *request , NSHTTPURLResponse *response , UIImage *image ){
                                    NSLog(@"Loaded successfully: %d", [response statusCode]);
                                }
                                failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
                                    NSLog(@"failed loading: %@", error);
                                }
     ];
}

图片总是加载成功,状态码总是200。但我必须将 [_imageView setImage:image]; 添加到 success block ,以便 UIImageView 设置图像。

我正在使用 iOS 6.0

有什么想法吗?

最佳答案

如果您提供了一个成功 block ,那么您将负责设置 UIImageView 的图像属性。如果您提供一个 nil success block ,那么 AFNetworking 会为您完成。

这是 UIImageView+AFNetworking.m 的相关部分(第 117 行):

if (success) {
    success(operation.request, operation.response, responseObject);
} else {
    self.image = responseObject;
}

或者,只需使用不带完成 block 的 -setImageWithURL:placeholderImage:

关于ios - AFNetworking setImageWithURLRequest 未设置远程图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13347154/

相关文章:

iOS - 可以拉伸(stretch) UIImageView 但不能拉伸(stretch) UIButton?

ios - 图像没有被发送到下一个 View Controller

swift - 使用 NSURLSession 时 GET 成功,但使用 AFHTTPSessionManager 时 GET 失败

iphone - iPad应用和Mac应用,不同平台的应用如何进行推广?

ios AppDelegate 属性声明

ios - 销毁带有烟雾效果的uiimage View

ios - Swift按顺序执行异步任务

iphone - 保存或序列化 AFNetworking 操作队列?

ios - 在 didRangeBeacons 方法中触发推送通知

ios - AVAudioPlayer 没有快速播放音频