我有一个应用程序从我的服务器检索 JSON 数据并将其输入到我的核心数据模型中。我的这个工作相当不错,减去了一些EXC_BAD_ACCESS
我还没有弄清楚的随机错误问题。在此 dataTask 期间,它可以检索大量数据,因此可能需要一段时间才能完成。
我正在寻找一种让用户暂停应用程序的方法,dataTask 将继续检索数据。我看到 NSURLSession 有一个后台模式,但看到它只支持上传和下载任务。
有没有办法支持这一点?
我的 dataTask 功能:
class func Request(file: String, withData: String?, completion: (NSData -> Void)) {
let url = NSURL(string: "\(root)\(file)")!
let request = NSMutableURLRequest(URL: url)
if let sentData = withData {
request.HTTPMethod = "POST"
request.HTTPBody = sentData.dataUsingEncoding(NSUTF8StringEncoding)
}
let dataTask = session.dataTaskWithRequest(request) {
data, response, error in
if error != nil {
if error?.domain == NSURLErrorDomain && error?.code == NSURLErrorTimedOut {
print("Data task timed out")
}
} else {
let httpResponse : NSHTTPURLResponse = response as! NSHTTPURLResponse
if httpResponse.statusCode == 200 {
completion(data!)
} else {
print("Request failed with status code: \(httpResponse.statusCode)")
}
}
}
dataTask.resume()
}