在使用两次从服务器提取同一图像之前,它工作正常,但我需要减少网络使用量
NSString *friendAvatar = [NSString stringWithFormat:@"%@%@%@", @"http://www.mydomain.com/images/users/", myWords[0], @".jpg"];
[imageFile setImageWithURL:[NSURL URLWithString:friendAvatar]];
[bgImageFile setImageWithURL:[NSURL URLWithString:friendAvatar]]; //this is a zoomed in version of the friends photo
现在我正在使用这种方法尝试将已经拉过照片的UIImageView的图像拖出,这样我就不必两次拉同一张照片了...
NSString *friendAvatar = [NSString stringWithFormat:@"%@%@%@", @"http://www.mydomain.com/images/users/", myWords[0], @".jpg"];
[imageFile setImageWithURL:[NSURL URLWithString:friendAvatar]];
[bgImageFile setImage:imageFile.image];
尝试使用我的新方法时。什么都没发生。调试器中没有错误,背景图像只是空白。
最佳答案
根据您的评论,我发现,因为您在通话时使用AFNetworking
[imageFile setImageWithURL:[NSURL URLWithString:friendAvatar]];
它正在后台线程上执行,但是下一行
[bgImageFile setImage:imageFile.image];
不是AFNetworking调用,因此它在上一行完成之前正在执行,因此没有要使用的imageFile.image ...
所以,是的,我的上一个答案要求您自己执行异步代码,或者您可以在设置bgImageFile.image之前等待图像加载(这可以用KVO完成吗???)