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 であることを確認する必要はありませんsuccess。成功/失敗の区別がすでに行われているためです。

于 2012-05-02T17:37:20.677 に答える