0

AFImageRequestOperation ImageRequestOperationWithRequest:から返された画像を表示しようとしていますが、画像は成功ブロック内でのみ使用できるようです。クラスインスタンス変数に保存しようとしましたが、NSLogを実行すると、nullとして表示されます。ただし、successブロック内で同じインスタンス変数をNSLogすると、取得したUIImageで設定した後、実際には16進値が表示されます(予想どおり)。ここでの助けは大歓迎です。

問題が発生するコードは次のとおりです。

imageRequest = [AFImageRequestOperation imageRequestOperationWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]] success:^(UIImage *image) {
    globalImage = image; // trying to have accessible image outside of success handler
    [self setImageThumbImage:image]; trying to set image that class will use 
    NSLog(@"Image is: %@", self.albumThumbImage); // logs an actual value
    imageRequest = nil;
}];

[albumImageRequest start];
NSLog(@"The second albumThumbImage retrieval returns: %@", globalImage); // logs null

return self;

}
4

1 に答える 1

0

AFNetworkingが提供するUIImageViewに追加されたメソッドを使用しないのはなぜですか?

gitページから:

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 100.0f, 100.0f)];
[imageView setImageWithURL:[NSURL URLWithString:@"http://i.imgur.com/r4uwx.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder-avatar"]];

これはあなたの質問に直接答えることはできませんが、あなたが探していることをはるかに簡単な方法で達成しているようです。

于 2012-10-24T03:32:10.737 に答える