C'est un processus en trois étapes. Vous allez commencer par créer un NSURL
objet pour contenir l'URL, nous tentons d'accès. Nous assurons la fourniture de cette URL pour l' NSData
méthode de classe, +dataWithContentsOfURL:
pour obtenir l'image sur le réseau en tant que données brutes, puis utilisez l' +imageWithData:
méthode de classe sur UIImage
pour convertir les données en une image.
NSURL *imageURL = [NSURL URLWithString:@"http://example.com/demo.jpg"];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
Veuillez noter que l' +dataWithContentsOfURL:
exécute un réseau synchrone demande. Si vous exécutez ce code sur le thread principal, il permet de bloquer l'INTERFACE utilisateur jusqu'à ce que l'image est reçue à partir du réseau. La meilleure pratique est d'exécuter n'importe quel code de réseau sur un thread d'arrière-plan. Si vous ciblez des OS 4.0+, vous pourriez faire quelque chose comme ça...
NSURL *imageURL = [NSURL URLWithString:@"http://example.com/demo.jpg"];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
dispatch_async(dispatch_get_main_queue(), ^{
// Update the UI
self.imageView.image = [UIImage imageWithData:imageData];
});
});