color bar ios iphone swift cocoa-touch swift3

ios - bar - uinavigationitem title color



Ejecuta un hilo de fondo en Swift 3 (3)

DispatchQueue.global (qos: .background) .async {

}

Tengo una función que dice así:

fileprivate func setupImageViewWithURL(url: URL) { var image: UIImage? = nil do { try image = UIImage(data: Data(contentsOf: url))! } catch is NSError { print("Failed") } image = self.imageWithImage(sourceImage: image!, scaledToWidth: UIScreen.main.bounds.size.width) self.imageImageView.image = image self.imageImageView.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: (image?.size.height)!) }

Quiero ejecutarlo en un thread Background .

Swift2 métodos GDC de Swift2 pero no funcionó.

¿ Swift3 cambiado algo en el tema del hilo en Swift3 ?

¡Gracias!


Está bien cargar imágenes en segundo plano, pero no está bien realizar actualizaciones de interfaz de usuario en el hilo de fondo. Es por eso que la función debe contener dos hilos.

func setupImageViewWithURL(url: URL) { var image: UIImage? = nil DispatchQueue.global().async { do { try image = UIImage(data: Data(contentsOf: url))! } catch { print("Failed") } DispatchQueue.main.async(execute: { if image != nil { image = self.imageWithImage(sourceImage: image!, scaledToWidth: UIScreen.main.bounds.size.width) self.imageImageView.image = image self.imageImageView.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: (image?.size.height)!) } }) } }


Swift 4.0

func setupImageViewWithURL(url: URL) { var image: UIImage? = nil DispatchQueue.global(qos: .background).async { do { try image = UIImage(data: Data(contentsOf: url))! } catch { print("Failed") } DispatchQueue.main.async { if image != nil { image = self.imageWithImage(sourceImage: image!, scaledToWidth: UIScreen.main.bounds.size.width) self.imageImageView.image = image self.imageImageView.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: (image?.size.height)!) } } } }