ボタンをクリックして画像のダウンロードを開始し、更新後に UIImageView を新しい画像に更新したいと考えています。私のコードの問題は、それがダウンロードするだけで、更新しないことです。もう一度クリックした場合にのみ更新されます。イメージがダウンロードされたときに、いつかイメージを更新したいと思います。それ、どうやったら出来るの?
編集:間違ったコードを見つけました。それを変更すると少し助けになり、すべて機能します。ここで別の質問が来ます - どうすればこのコードを混乱させずに単純化できますか? 過剰に見えます。
- (IBAction)getImage
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
^{
NSURL *imageURL = [NSURL URLWithString:@"http://example.com/1.jpg"];
__block NSData *imageData;
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
^{
imageData = [NSData dataWithContentsOfURL:imageURL];
dispatch_sync(dispatch_get_main_queue(), ^{
self.image = [UIImage imageWithData:imageData];
});
});
});
self.imageView.image = self.image;
}