Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var logs : [Log] = []
- func createExportString() -> String {
- var date: NSDate? = NSDate()
- var labe1: String?
- var typ: Double
- var export: String = NSLocalizedString("date, label, typ, n", comment: "")
- for (index, log) in logs.enumerated() {
- if index < logs.count - 1 {
- date = Date() as? NSDate
- label = log.value(forKey: "time") as? String
- typ = (log.value(forKey: "type") as? Double)!
- let dateString = "(log.date!)"
- let labelString = "(log.labe1!)"
- let typeString = "(log.typ)"
- export += dateString + "," + labelString + "," + typeString + "," + "n"
- }
- }
- print("This is what the app will export: (export)")
- return export
- }
- func exportDatabase() {
- var exportString = createExportString()
- saveAndExport(exportString: exportString)
- }
- func saveAndExport(exportString: String) {
- let exportFilePath = NSTemporaryDirectory() + "export.csv"
- let exportFileURL = NSURL(fileURLWithPath: exportFilePath)
- FileManager.default.createFile(atPath: exportFilePath, contents: NSData() as Data, attributes: nil)
- var fileHandleError: NSError? = nil
- var fileHandle: FileHandle? = nil
- do {
- fileHandle = try FileHandle(forWritingTo: exportFileURL as URL)
- } catch {
- print("Error with fileHandle")
- }
- if fileHandle != nil {
- fileHandle!.seekToEndOfFile()
- let csvData = exportString.data(using: String.Encoding.utf8, allowLossyConversion: false)
- fileHandle!.write(csvData!)
- fileHandle!.closeFile()
- let firstActivityItem = NSURL(fileURLWithPath: exportFilePath)
- let activityViewController : UIActivityViewController = UIActivityViewController(
- activityItems: [firstActivityItem], applicationActivities: nil)
- activityViewController.excludedActivityTypes = [
- UIActivityType.assignToContact,
- UIActivityType.saveToCameraRoll,
- UIActivityType.postToFlickr,
- UIActivityType.postToVimeo,
- UIActivityType.postToTencentWeibo
- ]
- self.present(activityViewController, animated: true, completion: nil)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement