我对AFNetworking有疑问。我在这里阅读文档:
http://afnetworking.github.com/AFNetworking/Classes/AFImageRequestOperation.html
它说:
urlRequest :
在执行操作期间要异步加载的请求对象。
问题是当我执行以下请求时,它发生在主线程上。我可以通过检查它是否在主线程中来确认它:
AFImageRequestOperation *operation = [AFImageRequestOperation imageRequestOperationWithRequest:urlrequest success:^(UIImage *image) {
if ([NSThread mainThread]){
NSLog(@"this is the main thread");
}
}];
[operation start];
我做错了什么吗?我对文档的解释是否错误?为什么在文档之后它不是异步的?
最佳答案
图像被加载到后台,然后在主线程上调用成功块。
这样做的目的是,加载图像会花费一些时间,并且会阻塞您的UI,但是在图像加载完成后,您可能想要执行类似在UIImageView上进行设置的操作,并且需要在主线程。