2

我正在使用 AFNetworking 的 UIImageView 类别,并且在我的响应代码状态中不断收到响应代码 0。知道这是为什么吗?这是我的做法:

[self.newsPicture_ setImageWithURLRequest:storyImageRequest 
                                         placeholderImage:nil 
                                                  success:^(NSURLRequest * request, NSHTTPURLResponse * response, UIImage * image) {
                                                      if ([response statusCode] == 200){
                                                          dispatch_async(dispatch_get_main_queue(), ^(void){

 });
                                                      } else {
                                                          NSLog(@"RESPONSE ERROR WITH CODE IS %d", [response statusCode]);
                                                      }
                                                  }failure:^(NSURLRequest * request, NSHTTPURLResponse * response, NSError * error){
                                                      if (error){
                                                          NSLog(@"Error in requesting news story image");
                                                      }
                                                  }];

知道为什么会发生这种情况吗?

这仅在我使用基于块的函数调用时发生。

当我使用 setImageWithURL 时,一切正常

4

1 回答 1

8

UIImageView+AFNetworking使用内部缓存来优化滚动视图和表视图的性能。响应代码 0 表示图像来自该内部缓存而没有发出 HTTP 请求。您不需要检查状态代码是否为 200 in success,因为这已经是成功/失败区分正在做的事情。

于 2012-05-02T17:37:20.677 回答