如何在使用Swift制作的iOS应用中创建文件?

时间:2018-10-09 14:44:11

标签: ios swift

我需要在我的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()创建一个空文件,但这也不起作用,因此我切换到了该占位符。理想情况下,尽管新文件将为空。

2 个答案:

答案 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?

相关问题