0
所以,當我運行這個功能下載的NSURLSessionDownloadDelegate數據存儲在哪裏?
func run(u: String) {
let URL = NSURL(string: u)
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config, delegate: self, delegateQueue: nil)
let dtask = session.downloadTaskWithURL(URL!)
dtask.resume()
}
我想到了這個方法:
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL) {
NSOperationQueue.mainQueue().addOperationWithBlock({
let text = NSString(contentsOfURL: location, encoding: NSUTF8StringEncoding, error: nil)
println(text)
self.done()
})
}
打印已下載的文件的位置,但它總是返回零。
不應該返回實際路徑嗎?甚至location
變量始終是零,以及...
它位於一個名爲tmp的文件夾內,位於與文檔文件夾相同的父文件夾內。如果臨時文件一旦完成就不會將它移動到文檔文件夾,它將立即被刪除(這是一個臨時文件) –
因此,當它到達... didFinishDownloadingToURL位置...方法時,它已被刪除? – matt
我通常使用完成塊保存它,所以我不知道問題是否是addOperationBlock –