J'ai un productImageArray
qui contient l'URL en tant qu'éléments du tableau. J'essaye de charger ces URLs dans ma vue d'image.Chargement d'une image du service Web sur un UIImage ne fonctionne pas correctement
Voici comment je la charge.
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];
});
});
Le problème est que,
- Seule la dernière cellule de mon tableview charge l'image alors que la cellule restante ne charge pas l'image de l'url
- est-il une autre meilleure façon de charger l'image de l'url directement dans mon UIImage en utilisant des méthodes natives?
Lorsque j'utilise le code suivant, chaque cellule de mon tableview charge les données d'image mais il gèle l'interface utilisateur jusqu'à ce que les données sont chargées complètement
NSData *storeImageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:productImageArray[indexPath.row]]];
self.productImage.image = [UIImage imageWithData:storeImageData];
Mettez 'self.productImage.image = [UIImage imageWithData: storeImageData];' dans la file d'attente principale. –
si vous utilisez le service Web AFNetworking? –
Non im ne pas utiliser afnetworking – Roger