使用AFNetworking从URL下载两个图像会导致日志中的偶然错误

时间:2013-08-27 20:54:45

标签: ios afnetworking

我目前正在使用AFNetworking的自定义UIImageView+AFNetworking.h从URLS下载两张图片,如下所示:

[self.topPicture setImageWithURL:upperPicture];
[self.bottomPicture setImageWithURL:lowerPicture];

并且大约20%的时间这可以正常工作,虽然剩下的时间我得到以下错误:

<Error>: ImageIO: CGImageReadSessionGetCachedImageBlockData *** CGImageReadSessionGetCachedImageBlockData: readSession [0x8a4ebd0] has bad readRef [0x8a50f30]

我不确定这是否是因为我试图同时(并在主线程上)将两个图像设置到屏幕上,或者我没有正确配置AFNetworking。

更新

我正在使用Parse API的query函数来使用代码获取用户的个人资料照片

NSArray *foundMatches = [queryForMatches findObjects]; //each "match" is a NSDictionary

其中查询也在主线程上运行。稍后,我使用类似于

的东西检索用户的图片URL
matchedUser[@"user_picture"] //user_picture is a string, which I then set to a new NSURL withString

之前将其传递给setImageWithURL:函数。至少从我所看到的,一切都在主线程上检索。

更新2:

我尝试使用getImageWithURL只下载一张图片,这样可以正常工作,但我没有收到上述错误。

1 个答案:

答案 0 :(得分:0)

这两行代码是在后台线程中执行的吗?

根据苹果documentation

  

注意:在大多数情况下,UIKit类只能用于   应用程序的主要线程。对于课程尤其如此   源自UIResponder或涉及操纵你的   应用程序的用户界面。