Swift 2.0 - 无法写入文本文件 (OS X)
Swift 2.0 - Unable to Write to Text File (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") }
}
上面的代码没有抛出错误(即 'Error' 这个词没有按照我的 catch 代码打印出来),但是文本文件保持未经编辑,保留代码之前的值运行.
文本文件包含在 X-Code 项目中,如下所示:
我真的很茫然,我不明白为什么代码不起作用。我已经确认它是 运行(通过在 do
语句前后打印 strTextToWrite
的值,并且肯定是 运行ning 通过 do
代码块,因为它没有被 catch
块捕获。我唯一能想到的是代码指向错误的文件(但文件名是正确的,你可以用上面的截图)。
我做错了什么?提前致谢。
您正在查看 2 个不同的文件:您写入的文件是 ~/Documents/airport.txt
,而您在 Xcode 中看到(并检查)的文件位于您的项目文件夹中。要查看更新,您需要引用 Xcode 中的文件,而不是复制它。
- 在项目导航器中右键单击
airport.txt
,然后单击删除 > 移至废纸篓
- 转到
~/Documents/airport.csv
并将其拖到您的 Xcode 项目中。不要将其添加到任何目标并取消选择 "Copy Items if Necessary"
您现在已经为文件创建了 a link。
修改包中的文件通常不是一个好主意。如果您需要一个地方来输出临时文件,请使用 ~/Application Support
下的应用程序子文件夹或系统的临时文件夹。
我有一个要读写的文本文件。我已获得成功读取的代码,但无法再次写入文本文件。我想覆盖所有内容(而不是修改)。
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") }
}
上面的代码没有抛出错误(即 'Error' 这个词没有按照我的 catch 代码打印出来),但是文本文件保持未经编辑,保留代码之前的值运行.
文本文件包含在 X-Code 项目中,如下所示:
我真的很茫然,我不明白为什么代码不起作用。我已经确认它是 运行(通过在 do
语句前后打印 strTextToWrite
的值,并且肯定是 运行ning 通过 do
代码块,因为它没有被 catch
块捕获。我唯一能想到的是代码指向错误的文件(但文件名是正确的,你可以用上面的截图)。
我做错了什么?提前致谢。
您正在查看 2 个不同的文件:您写入的文件是 ~/Documents/airport.txt
,而您在 Xcode 中看到(并检查)的文件位于您的项目文件夹中。要查看更新,您需要引用 Xcode 中的文件,而不是复制它。
- 在项目导航器中右键单击
airport.txt
,然后单击删除 > 移至废纸篓 - 转到
~/Documents/airport.csv
并将其拖到您的 Xcode 项目中。不要将其添加到任何目标并取消选择 "Copy Items if Necessary"
您现在已经为文件创建了 a link。
修改包中的文件通常不是一个好主意。如果您需要一个地方来输出临时文件,请使用 ~/Application Support
下的应用程序子文件夹或系统的临时文件夹。