2013-10-21 7 views
51

ちなみに、AFImageRequestOperationはありませんが、AFImageResponseSerializerしかありません。正直、私はAFnetworkingサイトで長すぎて見ています...以前のAFNetworkingで画像をダウンロードするのは魅力的でした。私は古いバージョンのAFnetworkingに戻って嫌いです、私は新しいバージョンでほとんどすべてのことをやったので...誰でも?AFNetworking 2.0で画像をダウンロードする方法は?

答えて

126

だから、2.0のようなものが欲しい。

AFHTTPRequestOperation *requestOperation = [[AFHTTPRequestOperation alloc] initWithRequest:urlRequest]; 
requestOperation.responseSerializer = [AFImageResponseSerializer serializer]; 
[requestOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"Response: %@", responseObject); 
    _imageView.image = responseObject; 

} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Image error: %@", error); 
}]; 
[requestOperation start]; 

アダムで述べたように、あなたはまた、あなただけの古いバージョンのためのImageViewの

[myImageView setImageWithURL:[NSURL URLWithString:@"http://sitewithimage.com/images/myimage.png"]]; 
+3

私の人生は保存されました:)私はそこにいくつかの解決策があることを知っていました:) – raistlin

+0

これはメインキューまたはバックグラウンドキューにありますか? – Tander

+0

@Tanderメインブロックで完了ブロックが実行されます – Bot

4

にそれをスローするように欠けている場合は、何responseSerializerはあなたも、そこにすることができません以下のような何かを行うことができます

スウィフトで AFNetworkingを使用している人々のために
AFHTTPRequestOperation *requestOperation = [[AFHTTPRequestOperation alloc] initWithRequest:urlRequest]; 
//requestOperation.responseSerializer = [AFImageResponseSerializer serializer]; 
[requestOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"Response: %@", responseObject); 
    _imageView.image = [UIImage imageWithData:responseObject]; 

} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Image error: %@", error); 
}]; 
[requestOperation start]; 
+0

質問はAFNetworking 2.0に固有です – Bot

+0

ok、あなたは正しいです。 – lbsweek

0

above solution

以下のように記述することができます
let requestOperation : AFHTTPRequestOperation = AFHTTPRequestOperation(request: urlRequest) 
    requestOperation.responseSerializer = AFImageResponseSerializer() 

    requestOperation.setCompletionBlockWithSuccess({ (requestOperation, responseObject) in 
     print(responseObject) 
     _imageView.image = responseObject as? UIImage 

    }) { (requestOperation, error) in 
     print(error) 
    } 
    requestOperation.start() 
関連する問題