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 文件共享
我正在创建注册表单应用程序。注册表数据将保存在 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 文件共享