【发布时间】:2017-09-27 20:15:16
【问题描述】:
我的 Xcode 项目中有一个 XML 文件,我首先尝试将其保存到磁盘,其次如何判断我是否已成功保存它?这是正确的方法吗?使用模拟器,我导航到 iOS 11 中的新“文件”文件夹,但我没有看到它,但我不确定它是否应该在那里?
guard let path = Bundle.main.url(forResource: "sample", withExtension: "xml") else {print("NO URL"); return}
let sample = try? Data(contentsOf: path)
print("sample XML = \(String(describing: sample?.debugDescription))")
//put xml file on the device
let filename = getDocumentsDirectory().appendingPathComponent("sample.xml")
do {
try sample?.write(to: filename)
} catch {
print("ERROR")
}
更新以包括我检查文件是否存在:
//check if file exists
let checkPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let url = URL(fileURLWithPath: checkPath)
let filePath = url.appendingPathComponent("sample.xml").path
let fileManager = FileManager.default
if fileManager.fileExists(atPath: filePath) {
print("FILE AVAILABLE")
} else {
print("FILE NOT AVAILABLE")
}
【问题讨论】:
-
将 var 路径命名为 url 对象具有误导性。您可以使用 FileManager 方法 fileExists(atPath:) 并将 yourURLObject.path 传递给它
-
谢谢@LeoDabus,它说文件存在但它没有在文件夹中列出?它不应该在那里吗?
-
哪个文件夹?捆绑包是只读的?
-
iOS 11 添加的名为“文件”的应用
-
不明白你的意思,能详细点吗?