NSArrayURL , userDefault filePath 和 URL
NSArrayURL , userDefault filePath and URL
我有一个 pdf 源代码,我想在数组中添加 Url 并使用 UserDefault
let defaults = UserDefaults.standard
struct Constants {
static let myKeyURL = "myKeyUrl"
}
我这样下载 Pdf
let documentsPath =NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let fileName = urlString as NSString;
let filePath="\(documentsPath)/\(fileName.lastPathComponent)";
像这样保存路径后
var arrayUrl = [String]()
arrayUrl.append(filePath)
self.defaults.set(arrayUrl, forKey: Constants.myKeyURL)
现在我想读书
var arrayUrl = [String]()
defaults.stringArray(forKey: Constants.myKeyURL)
arrayUrl = defaults.stringArray(forKey: Constants.myKeyURL)!
我需要阅读此模型
documents = arrayUrl.flatMap { PDFDocument(url: [=15=] ) }
但是我收到了
无法将类型 'String' 的值转换为预期的参数类型 'URL'
我需要这个 URL (arrayUrl) 这种格式的文件 file:///private/var/mobile/Containers/Data/Application/----/Documents/Sample.pdf
错误很明显:
PDFDocument(url:
期望 URL
,你传递 String
,这是典型的类型不匹配。
您必须从字符串创建 URL 个实例
documents = arrayUrl.flatMap { PDFDocument(url: URL(fileURLWithPath: [=10=]) ) }
但是,由于 Documents 文件夹的路径发生了变化,因此不建议您保存完整路径。仅保存文件名或相对路径,并在每次应用程序启动时获取 Documents 文件夹的实际路径。
我有一个 pdf 源代码,我想在数组中添加 Url 并使用 UserDefault
let defaults = UserDefaults.standard
struct Constants {
static let myKeyURL = "myKeyUrl"
}
我这样下载 Pdf
let documentsPath =NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let fileName = urlString as NSString;
let filePath="\(documentsPath)/\(fileName.lastPathComponent)";
像这样保存路径后
var arrayUrl = [String]()
arrayUrl.append(filePath)
self.defaults.set(arrayUrl, forKey: Constants.myKeyURL)
现在我想读书
var arrayUrl = [String]()
defaults.stringArray(forKey: Constants.myKeyURL)
arrayUrl = defaults.stringArray(forKey: Constants.myKeyURL)!
我需要阅读此模型
documents = arrayUrl.flatMap { PDFDocument(url: [=15=] ) }
但是我收到了 无法将类型 'String' 的值转换为预期的参数类型 'URL' 我需要这个 URL (arrayUrl) 这种格式的文件 file:///private/var/mobile/Containers/Data/Application/----/Documents/Sample.pdf
错误很明显:
PDFDocument(url:
期望 URL
,你传递 String
,这是典型的类型不匹配。
您必须从字符串创建 URL 个实例
documents = arrayUrl.flatMap { PDFDocument(url: URL(fileURLWithPath: [=10=]) ) }
但是,由于 Documents 文件夹的路径发生了变化,因此不建议您保存完整路径。仅保存文件名或相对路径,并在每次应用程序启动时获取 Documents 文件夹的实际路径。