当我使用 NSURLSession 检索数据并想在数据从服务器可用后更新我的 View 时,更新 View 有大约 15 秒的延迟。
var url = NSURL.URLWithString("http://example.com/app/api.php")
var session = NSURLSession.sharedSession()
var dataTask = session.dataTaskWithURL(url, completionHandler: {(data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in
println(NSString(data: data, encoding: NSUTF8StringEncoding))
self.myLabel.text = "completion"
self.view.setNeedsDisplay()
return})
dataTask.resume()
补充:调用setNeedsDisplay没关系。
对我的代码有什么问题或如何避免这种延迟有什么建议吗?
最佳答案
感谢 rdelmar,他把我引向了正确的方向,这里是我更正的代码:
var url = NSURL.URLWithString("http://www.connected-media.de/app/api.php")
var sessionConfig = NSURLSessionConfiguration.defaultSessionConfiguration()
var URLSession = NSURLSession(configuration: sessionConfig, delegate: nil, delegateQueue: NSOperationQueue.mainQueue())
var dataTask = URLSession.dataTaskWithURL(url, completionHandler: {(data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in
println(NSString(data: data, encoding: NSUTF8StringEncoding))
self.myLabel.text = "completion"
return})
dataTask.resume()
关于ios - 为什么更新我的 UIView 有延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25952509/