Cargar imagenes desde una URLs Swift 3

Primero Si la imagen la vamos a cargar desde una url que no sea segura debemos modificar nuestro Info.plist para que nos deje cargar la imagen entonces en nuestro archivo Info.plist agregamos esto:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

Ahora crea la siguiente funcion en algun controller o bien en una clase de utilidad que tengas, o bien se puede hacer como una extension de la Clase UIImageView, como se te antoje igual pondre los tres ejemplos que son casi iguales:

func downloadImage(_ uri : String, inView: UIImageView){

let url = URL(string: uri)

let task = URLSession.shared.dataTask(with: url!) {responseData,response,error in
if error == nil{
if let data = responseData {

DispatchQueue.main.async {
inView.image = UIImage(data: data)
}

}else {
print("no data")
}
}else{
print(error)
}
}

task.resume()

}

Con esta funcion lo metemos dentro de un Controller y bueno nuestro controller quedaria asi:

class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!

override func viewDidLoad() {
super.viewDidLoad()

self.downloadImage("https://dummyimage.com/300x300/0F0F0F/00FF00.png&text=Loaded+Image!", inView: imageView)
}

func downloadImage(_ uri : String, inView: UIImageView){

let url = URL(string: uri)

let task = URLSession.shared.dataTask(with: url!) {responseData,response,error in
if error == nil{
if let data = responseData {

DispatchQueue.main.async {
inView.image = UIImage(data: data)
}

}else {
print("no data")
}
}else{
print(error)
}
}

task.resume()

}
}

Nos quedaria asi entonces en el emulador:
captura-de-pantalla-2016-11-29-a-las-18-25-56

Aqui les dejo el link con el codigo:

 

Load image from url swift 3

1 comment
  1. Bitacoras.com
    noviembre 29, 2016 at 6:40 pm

    Información Bitacoras.com

    Valora en Bitacoras.com: Primero Si la imagen la vamos a cargar desde una url que no sea segura debemos modificar nuestro Info.plist para que nos deje cargar la imagen entonces en nuestro archivo Info.plist agregamos esto: NSAppTransportSecurity NSAl..…

    Reply
Leave a Reply

Your email address will not be published. Required fields are marked *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.