var request:NSMutableURLRequest = NSMutableURLRequest(URL:URL)
var sessionConf: NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
var session: NSURLSession = NSURLSession(configuration: sessionConf)
let postData = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) in
//... there some code to work with Core Data
self.navigationController.popViewControllerAnimated(true) // <- This work slow
})如果我只为测试代码替换println("test")而替换popViewControllerAnimated,那么只需使用Core -它马上就要完成了,我在日志中看到了“测试”。但是在调用整个应用程序之后,popViewControllerAnimated会冻结大约20到30秒。我认为这是因为NSURLSessionDataTask有请求和响应数据的超时间隔。因此,我尝试过:让sessionConfi.timeoutIntervalForResource和sessionConfi.timeoutIntervalForRequest为3.0服务,但这没有帮助。
我找到了这个NSURLSessionDataTask acting suspiciously slow
但是我不能添加dispatch_async(dispatch_get_main_queue()),因为UIViewController is not a subtype of Void。我应该在哪里定义一个类型?
发布于 2014-07-17 09:43:09
用that解决这个问题。转换成斯威夫特吧。
var session: NSURLSession = NSURLSession(configuration: sessionConf, delegate: nil, delegateQueue: NSOperationQueue.mainQueue())https://stackoverflow.com/questions/24798351
复制相似问题