Следующий код находится в пределах 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 ] ];
});
});