У меня есть productImageArray
, который содержит URL как элементы массива. Я пытаюсь загрузить эти URL-адреса в своем представлении изображения.
Ниже приведен способ, как я его загружаю.
UIActivityIndicatorView *spinner=[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
spinner.center=CGPointMake(160.0,240.0 );
spinner.hidesWhenStopped=YES;
[self.view addSubview:spinner];
[spinner startAnimating];
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);
dispatch_async(queue, ^{
NSData *storeImageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:productImageArray[indexPath.row]]];
self.productImage.image = [UIImage imageWithData:storeImageData];
dispatch_sync(dispatch_get_main_queue(), ^{
[spinner stopAnimating];
});
});
Проблема в том, что,
- Только последняя ячейка моего табличного представления загружает изображение, тогда как оставшаяся ячейка не загружает изображение из URL-адреса.
- Есть ли другой лучший способ загрузки изображения с URL-адреса непосредственно в мой UIImage с использованием собственных методов?
Когда я использую следующий код, каждая ячейка моего табличного представления загружает данные изображения, но при этом зависает пользовательский интерфейс до полной загрузки данных.
NSData *storeImageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:productImageArray[indexPath.row]]];
self.productImage.image = [UIImage imageWithData:storeImageData];
self.productImage.image = [UIImage imageWithData:storeImageData];
в основную очередь. - person Mahendra   schedule 07.05.2016