0

NSCacheを使用して画像のサイズを動的に変更できるように、SuccessandErrorブロックを追加して画像が読み込まれるタイミングを確認しようとしています。でもやってみると

[scribbleImage setImageWithURL: [NSURL URLWithString:scribble[@"scribble_image"]] placeholderImage:[UIImage imageNamed:@"Default.png"] success:^(UIImage *image) {
NSLog(@"done");
} failure:^(NSError *error) {
NSLog(@"error %@",error);
}];

Xcodeは私にエラーを出しますNo visible @interface for 'UIImageView' declares the selector 'setImageWithURL:placeholderImage:success:failure:'

理由はわかりません。

PS。UIImageView + AFNetworking.hをインポートしていますが、成功と失敗のブロックがなくても問題なく動作します

4

1 に答える 1

2

これは方法setImageWithURL:placeholderImage:success:failure:がないからですsetImageWithURLRequest:placeholderImage:success:failure:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:scribble[@"scribble_image"]]];

[scribbleImage setImageWithURLRequest:request placeholderImage:[UIImage imageNamed:@"Default.png"] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
    NSLog(@"Done");
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
    NSLog(@"Failed with error: %@", error);
}];

あなたが何をするかを見ればsetImageWithURL:placeholderImage:

- (void)setImageWithURL:(NSURL *)url
       placeholderImage:(UIImage *)placeholderImage
{
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    [request setHTTPShouldHandleCookies:NO];
    [request addValue:@"image/*" forHTTPHeaderField:@"Accept"];

    [self setImageWithURLRequest:request placeholderImage:placeholderImage success:nil failure:nil];
}

これは、内部的にもフェッチするために使用されるメソッドであることがわかります。

于 2013-03-14T08:54:59.067 に答える