我对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上进行设置的操作,并且需要在主线程。

10-07 19:51