

アプリ内で選択したデータをCSVファイルにし、  
メーラーを呼び出し、  
メールに添付させて送信させたいのですが、  
どのようにしたら良いのかわかりません。

自力で調べてもCSVファイルの読み込み方法しかなかったため、  
苦戦しております。

よろしければご教授下さい。  
よろしくお願い致します。

追加************  
別々の内容のcsvファイルを2つ添付したい場合はどうすればよいでしょうか？


CC BY-SA 3.0
2015-01-31T19:18:39.213
5668
2015-03-07T10:35:52.553
2015-03-07T10:35:52.553
7989
7989
question
swift iphone csv
SwiftによるCSVファイルの生成方法


`MFMailComposeViewController`というクラスを使うと、アプリから簡単にiPhoneのメーラーを呼び出すことができます。（添付ファイルも設定できるので、ご質問の用途にピッタリだと思います。）

[code]

    func sendMailWithCSV(subject: String, message: String, csv: [[String]]) {
        let mailVC = MFMailComposeViewController()
        mailVC.mailComposeDelegate = self
        mailVC.setSubject(subject)
        mailVC.setMessageBody(message, isHTML: false)
        mailVC.addAttachmentData(toCSV(csv)
            .dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
            , mimeType: "text/csv"
            , fileName: "data.csv")
        self.presentViewController(mailVC, animated: true) {}
    }
    
[/code]

また、文字列の多次元配列からCSV文字列を作る`toCSV`は以下のページを参考に書きました。  
<http://ja.wikipedia.org/wiki/Comma-Separated_Values>

[code]

    func toCSV(a: [[String]]) -> String {
        return join("\n", a.map { join(",", $0.map { e in
            contains(e) { contains("\n\",", $0) } ?
                "\"" + e.stringByReplacingOccurrencesOfString("\"", withString: "\"\"", options: nil, range: nil) + "\"" : e
        })}) + "\n"
    }
    
[/code]


CC BY-SA 3.0
2015-02-01T05:16:44.110
5681
2015-02-01T05:16:44.110
4313
5668
answer