ios - Swift:在文档目录中创建 csv 文件

标签 ios swift csv nsfilemanager nsfilehandle

我正在创建注册表单应用程序。注册表单数据将保存在 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避免重复的命名约定,取Objective-C方法名的末尾,使其成为参数名称:

let fileHandle = NSFileHandle(forUpdatingAtPath: yourPath)

关于ios - Swift:在文档目录中创建 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34910955/

相关文章:

iphone - 录制音频并保存到文档目录后无法使用 AVAudioPlayer 播放音频文件

ios - Swift 不确定我是否以正确的方式使用 segue

ios - 如何将两个不同的 UIPickerView 数据添加到单个标签中?

c# - 将动态 csv 转换为包含 List<string> C# 的 json

ios - 在后台运行应用程序超过 10 分钟

ios - 用户删除我的 iOS 应用程序后如何存储本地数据?

c++ - Boost 线程 : in IOS, thread_info 对象正在线程完成执行之前被破坏

ios - Swift 类 : Property not initialized at super. init 调用中的错误 - 如何初始化需要在其初始化参数中使用 self 的属性

javascript - 重组 CSV 文件?

php - 如何去除所有换行符以生成正确的 CSV?