Wie erstelle ich eine CSV-Datei aus Core Data (swift)

Ich erstelle eine App mit Kerndaten (1 Entität mit 5 Attributen), die in einer tableView angezeigt werden. Jetzt möchte ich diese Daten in eine CSV-Datei exportieren (damit ich diese Datei per E-Mail vom Telefon aus senden kann), damit ich sie in Excel unter Windows öffnen kann. Ich suche viel, habe aber nicht die richtige Antwort gefunden. Kann mir jemand helfen oder mir einen Link zu einer guten Erklärung oder einem Tutorial geben?

Ich baue in Swift BTW.

func createExportString() -> String {
    var merk: String?
    var ref: String?
    var beschrijving: String?
    var aantal: String?
    var wbs: String?

    var export = NSLocalizedString("merk, ref, beschrijving, aantal, wbs \n", comment: "")
            merk = Lijst.valueForKey("merk") as? String
            ref = Lijst.valueForKey("ref") as? String
            aantal = Lijst.valueForKey("aantal") as? String
            beschrijving = Lijst.valueForKey("beschrijving") as? String
            wbs = Lijst.valueForKey("wbs") as? String


            let merkString = "\(merk!)" ?? "-"
            let refString = "\(ref!)" ?? "-"
            let beschString = "\(beschrijving!)" ?? "-"
            let aantalString = "\(aantal!)" ?? "-"
            let wbsString = "\(wbs!)" ?? "-"

            export += merkString + "," + refString + "," + beschString + "," + aantalString +
                "," + wbsString + "\n"

    print("This is what the app will export: \(export)")
    return export
}

@IBAction func saveToCSV(sender: AnyObject) {
    exportDatabase()
}

func exportDatabase() {
    var exportString = createExportString()
    saveAndExport(exportString)
}

func saveAndExport(exportString: String) {
    let exportFilePath = NSTemporaryDirectory() + "export.csv"
    let exportFileURL = NSURL(fileURLWithPath: exportFilePath)
    NSFileManager.defaultManager().createFileAtPath(exportFilePath, contents: NSData(), attributes: nil)
    var fileHandleError: NSError? = nil
    var fileHandle: NSFileHandle? = nil
    do {
        fileHandle = try NSFileHandle(forWritingToURL: exportFileURL)
    } catch {
        print( "Error with fileHandle")
    }

    if fileHandle != nil {
        fileHandle!.seekToEndOfFile()
        let csvData = exportString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
        fileHandle!.writeData(csvData!)

        fileHandle!.closeFile()

        let firstActivityItem = NSURL(fileURLWithPath: exportFilePath)
        let activityViewController: UIActivityViewController = UIActivityViewController(activityItems: [firstActivityItem], applicationActivities: nil)

        self.presentViewController(activityViewController, animated: true, completion: nil)
    }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage