rest - 在 REST POST 请求后,swift 更新 View 的速度很慢

标签 rest swift drawrect

我正像往常一样快速地向我的服务器发送一些 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)"
    })

关于rest - 在 REST POST 请求后,swift 更新 View 的速度很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28369390/

相关文章:

javascript - 在 JavaScript 中使用 GET 调用 RESTful Web 服务

swift - Swift 中的完成处理程序

ios - 如何在drawRect中的UIImage的一部分上添加alpha层?

ios - 以编程方式快速调用 drawRect()

java - 使用 axios POST 请求将 JSON 数据作为 multipart/form-data 发送

php - 如何在 swagger 中使用 codegen 在 php 中创建服务器端代码

rest - NetSuite SuiteTalk REST Web 服务 - 无效的登录尝试

ios - 游戏中心在 iPhone 模拟器中工作,但在 iPad 上不工作 - Swift 4

ios - 我无法在 swift 2.3 中播放保存在目录路径和 AVPlayer 中的视频

ios - 使用 UIBezierPath 自定义 UIButton