我有一个文本文件,我将读取和写入。我已经获得了成功读取的代码,但无法再次写入文本文件。我想覆盖一切(不修改)。Swift 2.0 - 无法写入文本文件(OS X)
if let dir : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first {
let path = dir.stringByAppendingPathComponent("airports.txt")
var strTextToWrite:String = String()
strTextToWrite = "Test"
do {
try strTextToWrite.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding)
}
catch { print("Error") }
}
上面的代码不会抛出一个错误(即所说的“错误”不打印按我的捕捉代码),但文本文件仍然原封不动地保留了它的代码是前值跑。
该文本文件包含了X-代码项目中,如下图所示:
我在一个真正的损失就在这里,我不明白为什么代码不能正常工作。我已确认它正在运行(通过在do
声明之前和之后打印strTextToWrite
的值,并且它肯定贯穿do
代码块,因为它没有被catch
块捕获。我唯一可以想不到的是,该代码是在错误的文件指向(但文件名是正确的,因为你可以用上面的截图确认)。
什么我做错了什么?在此先感谢。
你确定你没有看2个不同的文件吗?右键单击Xcode中的“airport.txt”,然后选择* Show in Finder *查看它在哪里。您的代码写入的文件位于'〜/ Documents/airport.txt' –
显示读取文件的代码。 – MwcsMac
谢谢@CodeDifferent,我从网站上复制了这段代码,显然它假设文件将在计算机的文件夹系统中。你能够发布一个答案,展示如何在应用程序本身的主包中引用该文件?我以前使用过代码,但无法使引用正常工作。 –