2016-01-20 120 views
0

我正在創建一個註冊表單應用程序。註冊表格數據將保存在CSV文件中。我需要在文檔目錄中創建一個csv文件並能夠寫入它。我對Swift很新,所以我遇到了一些麻煩。這是我到目前爲止所做的。Swift:在文檔目錄中創建一個csv文件

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]; 

所以我真的只掙扎那一部分。謝謝您的幫助!

+0

我不不明白你的問題是什麼?你想把這個目標C翻譯成Swift嗎? –

+0

基本上可以。不太清楚在Swift中如何編程。 –

+0

你的「formData」對象的類型是什麼? –

回答

0

在夫特,fileHandleForUpdatingAtPath已成爲NSFileHandle一個初始化,採用避免重複並取Objective-C的方法名的末尾,使其成爲參數名的夫特命名約定:

let fileHandle = NSFileHandle(forUpdatingAtPath: yourPath) 
+0

啊好吧!所以這是更新的路徑!非常感謝。我一直在尋找永遠的阿哈 –

+0

不客氣。 :) – Moritz

相關問題