首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Swift中,如何在GCD主线程上调用带参数的方法?

在Swift中,如何在GCD主线程上调用带参数的方法?
EN

Stack Overflow用户
提问于 2014-07-28 05:12:48
回答 8查看 181.1K关注 0票数 203

在我的应用程序中,我有一个函数可以生成NSRURLSession并使用以下命令发送NSURLRequest

代码语言:javascript
复制
sesh.dataTaskWithRequest(req, completionHandler: {(data, response, error)

在这个任务的完成块中,我需要做一些计算,将一个UIImage添加到调用的视图控制器中。我有一个func叫

代码语言:javascript
复制
func displayQRCode(receiveAddr, withAmountInBTC:amountBTC)

执行UIImage相加计算。如果我试图在完成块中运行添加视图的代码,Xcode抛出一个错误,指出我在后台进程中不能使用布局引擎。所以我在上找到了一些代码,尝试在主线程上排队一个方法:

代码语言:javascript
复制
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”添加到此函数调用中。我该如何做到这一点,或者有人能建议一种最佳的方法来将方法调用添加到应用程序的主队列中?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24985716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档