В моем приложении у меня есть функция, которая создает NSRURLSession и отправляет NSURLRequest, используя
sesh.dataTaskWithRequest(req, completionHandler: {(data, response, error)
В блоке завершения для этой задачи мне нужно выполнить некоторые вычисления, которые добавляют UIImage к вызывающему viewcontroller. У меня есть функция под названием
func displayQRCode(receiveAddr, withAmountInBTC:amountBTC)
это делает вычисление добавления UIImage. Если я пытаюсь запустить код добавления представления внутри блока завершения, XCode выдает ошибку, говорящую, что я не могу использовать механизм компоновки в фоновом процессе. Итак, я нашел код на SO, который пытается поставить метод в очередь в главном потоке:
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)
})
Однако я не знаю, как добавить параметры "receiveAddr" и "amountBTC" к этому вызову функции. Как мне это сделать, или кто-то может предложить оптимальный способ добавления вызова метода в основную очередь приложения?