###前提・実現したいこと
swift3
xcode8です。
WindowsのExcelで作ったCSVからtextviewやlabelに文章を表示させる練習をしていて、そこでひとつわからないことがあります。
csvファイルを多次元配列に格納する方法は?
【Swift】CSVファイルを使ってデータの入出力を行う。
などを参考にしました。
swift
1//改行される 2textView.text = "今日は\nいい天気ですね" 3 4// CSV読み込み 5 if let csvPath = Bundle.main.path(forResource: "mainData", ofType: "csv") { 6 do { 7 var csvString = try NSString(contentsOfFile: csvPath, encoding: String.Encoding.shiftJIS.rawValue) as String 8 csvString = csvString.replacingOccurrences(of: "\r", with: "") 9 rowArray = csvString.components(separatedBy: "\n") 10 11 rowArray.forEach { 12 let items = $0.components(separatedBy: ",") 13 mainData.append(items) 14 } 15 } catch { 16 print(error) 17 } 18 19//配列の中に\nが入っていても改行されない 20textView.text = mainData[0][0] 21
###試したこと
ふつうにコード上で文章を作って改行させるときは、バックスラッシュとnをいれればいいということは分かったのですが、CSV上の文章にバックスラッシュとnをいれてもバックスラッシュとnが文章中に入るだけで改行されません。
(ここにバックスラッシュを入れると、なぜか¥になってしまうのでカタカナにしてあります。読みづらくてすいません・・・)
どうしてこうなるのかと、何をいれれば任意の箇所で改行させられるのかを教えていただきたいです。
関係あるかはわかりませんが、CSVをxcodeで読むと文字化けするので、encodeをshiftJISにしてます。
もし原因等をご存知の方がいらしたら、教えていただけると助かります。
回答1件
あなたの回答
tips
プレビュー