Swift: 在文档目录中创建一个 csv 文件

Swift: Creating a csv file in Documents Directory

我正在创建注册表单应用程序。注册表数据将保存在 CSV 文件中。我需要在文档目录中创建一个 csv 文件并能够写入它。我是 Swift 的新手,所以遇到了一些麻烦。这是我到目前为止所得到的。

var fileManager = NSFileManager.defaultManager()
var fileHandle: NSFileHandle

@IBAction func submitForm(sender: AnyObject) {
    mySingleton.filename = mySingleton.filename + ".csv"
    let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
    let filePath = documentsPath + mySingleton.filename

    if !fileManager.fileExistsAtPath(mySingleton.filename) {
        fileManager.createFileAtPath(filePath, contents: nil, attributes: nil)
        fileHandle = ...
    }

}

显然,我遇到问题的代码是允许修改文件的 FileHandle。在 objective-c 中,它看起来像这样:

fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:event];

那么显然,如果我想写入文件,我可以这样做:

[fileHandle seekToEndOfFile];
[fileHandle writeData:[formData dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];

所以我真的只是在为那一部分而苦苦挣扎。感谢您的帮助!

在Swift中,fileHandleForUpdatingAtPath成为了NSFileHandle的初始化器,采用Swift避免重复的命名约定,取[=15=的结尾] 方法名,使其成为参数名:

let fileHandle = NSFileHandle(forUpdatingAtPath: yourPath)

确保在info.plist中添加这两个键并将它们设置为“YES

支持就地打开文档

应用程序支持 iTunes 文件共享