次のコードは cellForRowAtIndexPath
の範囲内にあります。このコードを編集する必要があります。
1.)画像をダウンロードする際に問題があった場合、このブロックは setFailedBlock
ブロックを返します。どのようにコードに追加できますか?
2.)画像がダウンロードされている間にユーザーがビューを変更したら、このコードの実行を停止したい(ダウンロードを停止する)。私は viewdiddissapear
メソッドまたは viewwilldissapear
メソッドでブロックをキャンセルする必要があると思います。しかし、私はダウンロードをキャンセルするコードを書く方法を知らない。誰かが私にこれを行う方法を教えてもらえますか?
(注:このブロックは cellForRowAtIndexPath
メソッド内にあり、 viewdiddissapear
または viewwilldissapear
からアクセスする必要があります)
dispatch_queue_t concurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
//this will start the image loading in bg
dispatch_async(concurrentQueue, ^{
NSData *someimageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:someimageURL]];
dispatch_async(dispatch_get_main_queue(), ^{
[cell.imageviewofsomeimage setImage:[UIImage imageWithData:someimageData ] ];
});
});