ios - AFNetworking setImageWithURLRequest 不更新 UIImageView

标签 ios objective-c uiimageview afnetworking

我正在使用 setImageWithURLRequest:placeholderImage:success:failure 从 URL 下载图像,图像下载工作正常。我遇到的问题是,当我将下载的图像设置为 UIIMageView 时,没有任何显示,但占位符被删除。

我的代码如下:

__weak UIImageView *userCardImageView;


AFImageResponseSerializer *serializer = [[AFImageResponseSerializer alloc] init];
serializer.acceptableContentTypes = [serializer.acceptableContentTypes setByAddingObject:@"image/png"];
self.userCardImageView.imageResponseSerializer = serializer;

[self.userCardImageView setImageWithURLRequest:urlRequest placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {

        [userCardImageView setImage:image];

    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {

        if (error)
        {
            NSLog(@"Error:   %@", error);
            NSLog(@"Error response:     %@", response);
        }

    }];

URL 是正确的,因为当我将它复制并粘贴到浏览器中时,我得到了我的图像。

有人可以告诉我如何让我的代码更新 URL 吗?我将 UIImageView 分配给弱属性是否正确?我这样做是因为使用 self 或强变量可能会导致保留周期。

最佳答案

看来你应该实现这条线

[userCardImageView setImage:image];    

代替

[userCardImageView setImage:[UIImage imageWithData:userCardImageData]];

在你的成功 block

PS:如果你想在 self.userCardImageView 中设置图像,你宁愿声明一个弱 Controller 而不是一个弱 UIImageView 引用。有点像

__weak __typeof(&*self)weakSelf = self    

关于ios - AFNetworking setImageWithURLRequest 不更新 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28429626/

相关文章:

ios - AFNetworking "Undefined symbols for architecture i386"错误

iphone - 可以使用 Core Animation 使状态栏消失/溶解吗?

ios - 使用 GooglePlus 类从 NSDictionary 获取键值

ios - 如何在表格 View 单元格中隐藏和取消隐藏 ImageView ?

ios - 无法使用类型为 '[[String : AnyObject]]' 的索引下标类型为 'String' 的值

ios - 在 Instruments 中进行分析时,OpenGL ES 应用程序似乎运行得更快

ios - 禁用的自定义 UIButton 在不同的地方显示不同的图像

html - 从 Swift 中的 div 元素中检索特定文本

objective-c - 如何通过点击动画 UIImageview 以显示全屏?

ios - 如何在 'aspect fill' 模式下将 UIImageView 裁剪为新的 UIImage?