gpt4 book ai didi

iOS:如何写入项目中特定目录的文件?

转载 作者:行者123 更新时间:2023-11-28 15:49:05 29 4
gpt4 key购买 nike

我正在尝试将我在我的应用程序中收集的一些字符串输出到一个文本文件。

文本文件将始终存在于我的项目中,如下所示:

我正在尝试用新的(多行)字符串覆盖文件中的任何内容:

func writeFile(){

let theFile: FileHandle? = FileHandle(forWritingAtPath: "./MyFiles/file.txt")

if theFile != nil { // This is always nil!!!
let data = ("Some text\nline 2\nline3\n" as String).data(using: String.Encoding.utf8)

// Write it to the file
theFile?.write(data!)

// Close the file
theFile?.closeFile()
}
else {
print("Writing failed.")
}

} // End file writing

但是,FileHandler 始终返回 nil。我怀疑这是因为我提供的路径和/或文件名不正确?

我已经用谷歌搜索和堆栈溢出几个小时了……但仍然不知道如何解决这个问题。如何指定正确的位置和文件?

最佳答案

您不能在应用程序沙箱之外写入文件。每个 iOS 应用程序都有单独的目录 Document、Library、tmp 来存储数据。

func writeFile(){

let documentsPath = NSSearchPathForDirectoriesInDomains(.documentationDirectory,.userDomainMask,true)
let theFile: FileHandle? = FileHandle(forWritingAtPath: "\(documentsPath)/MyFiles/file.txt")

if theFile != nil { // This is always nil!!!
let data = ("Some text\nline 2\nline3\n" as String).data(using: String.Encoding.utf8)

// Write it to the file
theFile?.write(data!)

// Close the file
theFile?.closeFile()
}
else {
print("Writing failed.")
}

} // End file writing

关于iOS:如何写入项目中特定目录的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42584086/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com