【发布时间】:2014-12-04 00:08:40
【问题描述】:
您好,我正在使用 NSJSONSerialization 将我的应用程序中的 JSON 下载到设备,似乎当我更新 JSON 文件并重新运行下载 JSON 函数时,它不会下载新的 JSON。它只是下载未更新的 JSON 文件。我尝试在不同的设备上运行该应用程序,它第一次运行,但是一旦我再次更新 JSON,它就不会下载新的 JSON。我在想它可能会被缓存,但我不确定。
这是我的代码:
func downloadJSON(){
let p = NSURLRequest(URL: NSURL(string: "https://themartini.co/pythonStuff/quotey.json")!)
let sharedSession = NSURLSession.sharedSession()
let dwn = sharedSession.dataTaskWithRequest(p, completionHandler: { (data : NSData!,re : NSURLResponse!, error: NSError!) -> Void in
if error == nil {
let js : AnyObject! = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: nil) as NSArray // downloads JSON and puuts it into an array
println(js)
dispatch_async(dispatch_get_main_queue()){
self.quotes = js as NSArray
NSNotificationCenter.defaultCenter().postNotificationName("dataTaskFinished", object: nil)
}
}
})
dwn.resume()
}
有什么想法吗?谢谢。
【问题讨论】:
-
...您已经消除了中间 CDN 作为原因?您从设备切换到设备的速度有多快?真正的解决办法是让您的服务器提供正确的缓存策略。