我目前正在使用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
其中查询也在主线程上运行。稍后,我使用类似于
的东西检索用户的图片URLmatchedUser[@"user_picture"] //user_picture is a string, which I then set to a new NSURL withString
之前将其传递给setImageWithURL:
函数。至少从我所看到的,一切都在主线程上检索。
更新2:
我尝试使用getImageWithURL
只下载一张图片,这样可以正常工作,但我没有收到上述错误。
答案 0 :(得分:0)
这两行代码是在后台线程中执行的吗?
根据苹果documentation。
注意:在大多数情况下,UIKit类只能用于 应用程序的主要线程。对于课程尤其如此 源自UIResponder或涉及操纵你的 应用程序的用户界面。