gpt4 book ai didi

ios - 从 NSURLSessionDownloadDelegate 下载的数据存储在哪里?

转载 作者:行者123 更新时间:2023-11-29 02:07:05 29 4
gpt4 key购买 nike

所以当我运行这个函数时

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()
})
}

打印下载文件的位置,但总是返回 nil。

它不应该返回实际路径吗?甚至 location 变量也总是 nil ...

最佳答案

func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL) {
let text = NSString(contentsOfURL: location, encoding: NSUTF8StringEncoding, error: nil)
println(text)
self.done()
)

尝试上面的代码

在此方法 didFinishDownloadingToURL 返回之前,您必须保存下载的数据。

例如,你可以在内存中使用它,或者将tmp文件移动到另一个dic。

如果你使用你的代码,当你执行你的 block 时,方法已经返回。因为如果你使用 addOperationwithBlock,它是一个异步 block 。它会先返回,然后执行 block 。所以在你的情况下,当你完成下载时,你的方法首先返回,然后你执行 block 。所以,你什么都没有

关于ios - 从 NSURLSessionDownloadDelegate 下载的数据存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29669946/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com