2016-01-20 3 views
0

Je crée une application de formulaire d'inscription. Les données du formulaire d'inscription seront sauvegardées dans un fichier CSV. Je dois créer un fichier csv dans le répertoire des documents et pouvoir y écrire. Je suis assez nouveau pour Swift donc j'ai un peu de problème. C'est ce que j'ai jusqu'ici.Swift: Création d'un fichier csv dans les documents Répertoire

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 = ... 
    } 

} 

Il est évident que le code que je vais avoir des problèmes avec est le FileHandle qui est ce qui permet de modifier le fichier. Dans l'objectif-c, il ressemblerait à quelque chose comme ceci:

fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:event]; 

Alors, évidemment, si je voulais écrire sur le fichier que je pouvais faire quelque chose comme ceci:

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

Je suis vraiment du mal seulement cette partie. Merci pour l'aide!

+0

Je ne t comprendre quel est votre problème? Vous voulez traduire cet objectif-C en Swift? –

+0

Oui essentiellement. Pas tout à fait sûr de comment il doit être programmé dans Swift. –

+0

Quel est le type de votre objet « formData »? –

Répondre

0

Swift, fileHandleForUpdatingAtPath est devenu un initialiseur de NSFileHandle, en adoptant la convention de nommage Swift d'éviter la répétition et de prendre la fin du nom de la méthode Objective-C, ce qui en fait le nom du paramètre:

let fileHandle = NSFileHandle(forUpdatingAtPath: yourPath) 
+0

Ah d'accord! C'est donc upUpdatingAtPath! Merci beaucoup. Je cherchais la toujours aha –

+0

Vous êtes les bienvenus. :) – Moritz