【swift】テキストファイルの配列への読み込み【cocoa】


未だに swift1.1 を使っている人がいるとも思えまないので、ブログで公開したところで誰かの役に立つとは思えませんが、備忘録ってことで。

やろうとしたことは、

1. 改行区切りのテキストファイルを読み込み
2. 1行づつ配列に格納する
3. 格納された配列を整数型に変換

これだけ。
あとは例のごとく整数型に変換したデータを使ってゴチョゴチョやるって感じ。

ファイル・オープンについては 過去記事を参照

オープンパネルからファイル・パスを引っ張ってきたら、

 let file = String(contentsOfFile: path, encoding: NSUTF8StringEncoding, error: nil)



こんな感じでファイルを読み込み。
ここで、NSString で読んでないことに注意してください。

で、次に改行区切りでのファイルの分割なんですが、String.componetsSeparatedByString("\n") を使って大ハマり。
ここは素直に String.enumerateLines を使って、

 var strArray = [String]()
 file?.enumerateLines { (line, stop) -> () in
  strArray.append(line )
 }


こんな感じに。
このために file の読み込みに NSString ではなく、String を使っています。

最後に String を Int に変換。

 var intVal0 = strArray[1].toInt()
 var intVal1 = strArray[2].toInt()
 var intVal2 = strArray[3].toInt()



まぁ、分かっている人にはなんてことないことでしょうが、ワタクシのような素人があっちゃこっちゃのサイトを参考にしてフランケン・コードを書いていると、整合性が取れずにエラーが頻発するのですよ。

スポンサーサイト

コメント

非公開コメント