迅速处于REST POST请求
问题描述:
后更新视图我送一些POST请求我断绝与快捷,通常慢:迅速处于REST POST请求
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
println("error=\(error)")
return
}
let responseString = NSString(data: data, encoding: NSUTF8StringEncoding)
println(responseString) //this is fast
label.text = "\(responseString)" // this is very slow
}
task.resume()
这种运作良好,我得到的数据和所有。现在有两件事情表现得非常不同,我不知道为什么。
该行:println(responseString)
按预期立即打印数据,但行label.text = "\(responseString)"
需要大约10秒钟来更新标签的文本。
任何想法为什么? DrawRect与此有什么关系?
答
尝试做这样的主线程:
dispatch_async(dispatch_get_main_queue(), {() -> Void in
label.text = "\(responseString)"
})
哈!完美,这工作!非常感谢你:) – matt 2015-02-06 15:49:04
没问题!每当你在后台线程上进行计算,网络请求等,然后更新UI,总是在主线程上这样做。 – 2015-02-06 15:51:26
我会做的,感谢 – matt 2015-02-06 15:52:57