Userdefault 保存和读取 URL 文件路径
Userdefault Save and Read URL FilePath
我像这样下载 pdf 文件并在 Userdefault 中保存了 路径
var 文档 = 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)
第一次当 App 运行 这个 documents 得到了很好的价值但是下一次当我不需要再次下载文档时它是 Null 但 ArrayURL ints 相同价值!!
var arrayUrl = [String]()
self.defaults.stringArray(forKey: Constants.myKeyURL)
arrayUrl = self.defaults.stringArray(forKey: Constants.myKeyURL)!
self.documents = arrayUrl.flatMap { PDFDocument(url: URL(fileURLWithPath: [=12=]) ) }
print(self.documents)
DispatchQueue.main.async {
self.tableView.reloadData()
}
您不应该保存文件的完整路径,出于安全原因,您的应用程序的容器名称会更改,因此每次您的应用程序获取时文档目录也会更改 launched/reloaded。
相反,仅保存文件的名称及其扩展名(使用下载的 url 中的 属性 lastPathComponent
),并且每当您要加载这些文件时只需附加名称到文档目录。
我像这样下载 pdf 文件并在 Userdefault 中保存了 路径 var 文档 = 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)
第一次当 App 运行 这个 documents 得到了很好的价值但是下一次当我不需要再次下载文档时它是 Null 但 ArrayURL ints 相同价值!!
var arrayUrl = [String]()
self.defaults.stringArray(forKey: Constants.myKeyURL)
arrayUrl = self.defaults.stringArray(forKey: Constants.myKeyURL)!
self.documents = arrayUrl.flatMap { PDFDocument(url: URL(fileURLWithPath: [=12=]) ) }
print(self.documents)
DispatchQueue.main.async {
self.tableView.reloadData()
}
您不应该保存文件的完整路径,出于安全原因,您的应用程序的容器名称会更改,因此每次您的应用程序获取时文档目录也会更改 launched/reloaded。
相反,仅保存文件的名称及其扩展名(使用下载的 url 中的 属性 lastPathComponent
),并且每当您要加载这些文件时只需附加名称到文档目录。