No meu aplicativo, tenho uma função que cria uma NSRURLSession e envia uma NSURLRequest usando
sesh.dataTaskWithRequest(req, completionHandler: {(data, response, error)
No bloco de conclusão desta tarefa, preciso fazer alguns cálculos que adicionem uma UIImage ao viewcontroller de chamada. Eu tenho uma função chamada
func displayQRCode(receiveAddr, withAmountInBTC:amountBTC)
que faz o cálculo de adição de UIImage. Se eu tentar executar o código de adição de exibição dentro do bloco de conclusão, o Xcode emitirá um erro dizendo que não posso usar o mecanismo de layout enquanto estiver em um processo em segundo plano. Então, eu encontrei algum código no SO que tenta enfileirar um método no thread 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)
})
No entanto, não sei como adicionar os parâmetros "receiveAddr" e "amountBTC" a essa chamada de função. Como eu faria isso, ou alguém pode sugerir uma maneira ideal de adicionar uma chamada de método à fila principal do aplicativo?