Este es un proceso de tres pasos. Primero creará un objeto NSURL
para contener la URL a la que estamos intentando acceder. Proporcionaremos esta URL al método de clase NSData
, +dataWithContentsOfURL:
para obtener la imagen en la red como datos sin procesar, luego usaremos el método de clase +imageWithData:
en UIImage
para convertir los datos en una imagen.
NSURL *imageURL = [NSURL URLWithString:@"http://example.com/demo.jpg"];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
Tenga en cuenta que +dataWithContentsOfURL:
ejecuta una solicitud de red síncrona. Si ejecuta esto en el hilo principal, bloqueará la interfaz de usuario hasta que los datos de imagen se reciban de la red. La mejor práctica es ejecutar cualquier código de red en un hilo de fondo. Si usted está apuntando OS 4.0+ se podría hacer algo como esto ...
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];
});
});
Puede que desee ver este proyecto: https://github.com/rs/SDWebImage – Intentss