S3 から画像をダウンロードするためにAFNetworking
カテゴリを使用しています。UIImageView+AFNetworking.h
署名済みの URLRequest を取得し、画像の取得に進みます。これは、写真を表示することのみを目的としたコントローラーにあります。
- (void)viewWillAppear:(BOOL)animated
{
NSURLRequest *request = [BFAWSUploader downloadPhotoWithFileName:[NSString stringWithFormat:@"%@.jpg", _topicMessage.attachment_s3_name]];
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
[_imageView setImageWithURLRequest:request placeholderImage:[UIImage imageNamed:@"Default.png"] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
NSLog(@"Pulled down image successfully");
[hud hide:YES];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
NSLog(@"Failed to pull down image");
}];
}
「正常にイメージをプルダウンしました」というログ エントリが表示されますが、その後イメージ ビューが更新されません。代わりに、View Controller を離れてから戻る必要があり、キャッシュされたエントリが表示されます。