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