【发布时间】:2015-02-16 16:04:42
【问题描述】:
我正在尝试为我的应用程序添加持久性,因此我必须读取和写入文件
这是我用来阅读的代码:
let path = NSBundle.mainBundle().pathForResource("Data", ofType: "txt")
var text = String(contentsOfFile: path!, encoding: NSUTF8StringEncoding, error: nil)!
这是我用来写的那一行
text.writeToFile(path!, atomically: false, encoding: NSUTF8StringEncoding, error: nil)
这里发生了一些奇怪的事情,我的项目文件夹中没有 Data.txt 文件,但它可以工作。为什么?
为了解决这个问题,我删除了一些文件夹,在项目文件夹中创建了一个 Data.txt 文件,应用程序工作正常,但我看不到存储在 txt 文件中的数据,为什么?如果我删除该文件,应用程序不会t 显示错误并继续工作,即使我移动到 thrash 文件。这怎么可能?如何在应用程序中加载此文件之前编辑或删除它?
我遇到的另一个问题是我想使用数组而不是大字符串,数组应该是这样的
var array = [(number:Int(),name:String(),date:String())]
txt文件的结构如下 number\tname\tdate\nnumber\tname\tdate 等等
我不知道如何将文件的不同行拆分为一个数组,并将行的 3 个元素拆分为数组的一个元素,使用“\n”作为元素的分隔符,使用 \t 分隔 Int和两个字符串
而且我不知道如何将数组保存在 txt 文件中并重新加载它,我是否必须使用一些循环或一段时间,或者有一些特定于我的情况的功能?
谢谢
【问题讨论】: