Cargar una imagen desde una URL 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:

[xml]
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
[/xml]

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:

[c]
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()

}
[/c]

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

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

override func viewDidLoad() {
super.viewDidLoad()

self.downloadImage("https://dummyimage.com/300×300/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()

}
}
[/c]

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

Facebook Comments

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.

Do NOT follow this link or you will be banned from the site!
WP Facebook Auto Publish Powered By : XYZScripts.com