En mi aplicación, tengo una función que hace una NSRURLSession y envía una NSURLRequest usando
sesh.dataTaskWithRequest(req, completionHandler: {(data, response, error)
En el bloque de finalización para esta tarea, necesito hacer algunos cálculos que agreguen un UIImage al controlador de vista de llamada. Tengo un func llamado
func displayQRCode(receiveAddr, withAmountInBTC:amountBTC)
eso hace el cálculo de agregar UIImage. Si intento ejecutar el código de adición de vista dentro del bloque de finalización, Xcode arroja un error que dice que no puedo usar el motor de diseño mientras estoy en un proceso en segundo plano. Entonces encontré un código en SO que intenta poner en cola un método en el hilo principal:
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(0.0 * Double(NSEC_PER_MSEC)))
dispatch_after(time, dispatch_get_main_queue(), {
let returned = UIApplication.sharedApplication().sendAction("displayQRCode:", to: self.delegate, from: self, forEvent: nil)
})
Sin embargo, no sé cómo agregar los parámetros "recibirAddr" y "cantidadBTC" a esta llamada de función. ¿Cómo haría esto, o alguien puede sugerir una forma óptima de agregar una llamada de método a la cola principal de la aplicación?