以下代码位于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 ] ];
});
});