我在Userdefault中下载pdf文件并保存路径 var documents = PDFDocument
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let fileName = urlString as NSString;
var arrayUrl = [String]()
arrayUrl.append(filePath)
self.defaults.set(arrayUrl, forKey: Constants.myKeyURL)
应用程序运行时的第一次文档获得良好的价值,但下一次当我不需要再次下载文档时,它是空的但是ArrayURL具有相同的值!!
var arrayUrl = [String]()
self.defaults.stringArray(forKey: Constants.myKeyURL)
arrayUrl = self.defaults.stringArray(forKey: Constants.myKeyURL)!
self.documents = arrayUrl.flatMap { PDFDocument(url: URL(fileURLWithPath: $0) ) }
print(self.documents)
DispatchQueue.main.async {
self.tableView.reloadData()
}
答案 0 :(得分:1)
您不应该保存文件的完整路径,出于安全原因,应用程序的容器名称会被更改,因此每次启动/重新加载应用程序时,文档目录也会更改。
相反,只在其扩展名中保存文件名(使用已下载网址中的属性lastPathComponent
),并且只要您想加载这些文件,只需将名称附加到文档目录。 / p>