Swift 3 advertencia para el envío asíncrono

Tengo este código:

DispatchQueue.global(priority: DispatchQueue.GlobalQueuePriority.default).async { let url = URL(string: itemImageURL ) let data = try? Data(contentsOf: url!) if data != nil { DispatchQueue.main.async{ cell.advImage!.image = UIImage(data: data!) } } } 

Recibo esta advertencia en Swift 3:

'default' estaba en desuso en iOS 8.0: usa los attributes qos en su lugar

en la primera línea

Aún no encontré una solución. Tiene alguien

intente qos: DispatchQoS.QoSClass.default lugar de priority: DispatchQueue.GlobalQueuePriority.default

 DispatchQueue.global(qos: DispatchQoS.QoSClass.default).async { let url = URL(string: itemImageURL ) let data = try? Data(contentsOf: url!) if data != nil { DispatchQueue.main.async{ cell.advImage!.image = UIImage(data: data!) } } } 

En lugar de usar el parámetro de prioridad :

 DispatchQueue.global(priority: DispatchQueue.GlobalQueuePriority.default).async { // ... } 

utilice el parámetro qos que utiliza un qos diferente DispatchQoS.QoSClass.default pero también puede usar su valor de enumeración como solo .default :

 DispatchQueue.global(qos: .default).async { // ... } 

Swift 3 ha traído muchos cambios en GCD (Grand Central Dispatch).

Si está creando una propiedad con el Marco de despacho y actualizando la interfaz de usuario con alguna animation dentro de una function, podría parecerse a esto.

 let queue = DispatchQueue.global(qos: DispatchQoS.QoSClass.default) // dispatch_after says that it will send this animation every nsec queue.asyncAfter(deadline: when) { DispatchQueue.main.async(execute: { self.animate(withDuration: 0.5, animations: { self.image.setWidth(35) self.image.setHeight(35) }) }) } 

Debajo del código se testing para Swift 3.0 en Xcode 8.2.1

 DispatchQueue.global(qos: .background).async { let img2 = Downloader.downloadImageWithURL(imageURLs[1]) // Background Thread DispatchQueue.main.async { // Run UI Updates self.imageView2.image = img2 } } 

donde la propiedad de QoS son:

 background, utility, `default`, userInitiated, userInteractive and unspecified 

Consulte este documento de Apple para más detalles.