我需要在我的iOS应用中保存一些数据。为此,我想创建一个基本的文本文件,然后可以从应用程序的其他位置再次调用该文件。但是我的create File请求始终返回false。
let fileMang = FileManager.default
let home = NSHomeDirectory()
let filePath = String(home) + "/AppData/Documents/points.txt"
if fileMang.fileExists(atPath: filePath) {
do {
try fileMang.removeItem(atPath: filePath)
}
catch {}
}
let test = fileMang.createFile(atPath: filePath, contents: "0, 0, 0".data(using: String.Encoding.utf8), attributes: nil)
print(test)
“ 0,0,0”字符串仅应作为占位符。我的实际数据稍后会写入文件中。我最初尝试使用Data.init()创建一个空文件,但这也不起作用,因此我切换到了该占位符。理想情况下,尽管新文件将为空。
答案 0 :(得分:0)
不要使用诸如“ AppData / Documents”之类的硬编码路径,而是最好向系统询问例如使用\ p的应用程序支持目录的路径
let appSupportDir = try FileManager.default.url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
let filePath = appSupportDir.appendingPathComponent("points.txt").path
答案 1 :(得分:0)
您还可以执行以下操作:
do {
try data.write(to: URL(fileURLWithPath: path), options: .atomic)
}
catch {
print(error)
}
来自:Is there a writeToFile equivalent for Swift 3's 'Data' type?