ファイルの読み込みなんてプログラミングの基礎ですが。
リソースのCSVから読み込む、とか意外とサンプルコードがヒットしない(自分で考えろ)のです。
都道府県のcsvファイルはそのままプロジェクトに突っ込んだら普通に文字化けしていたので、UTF-8にしてから再度。
NSBundle *bundle = [NSBundle mainBundle]; NSString *path = [bundle pathForResource:@"prefectures" ofType:@"csv"]; NSString *csv = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
ここらへんまでは良く見る見かける感じ。それぞれの意味はわかっていません。
NSArray *lines = [csv componentsSeparatedByString:@"\n"];
改行コードでちょん切るのですが、うまくいかない。csvの改行をLFにして再度。
NSMutableArray*pary = [NSMutableArray array]; for (NSString *line in lines) { NSArray *components = [line componentsSeparatedByString:@","]; if ([components count] > 1) { [pary addObject:[components objectAtIndex:1]]; } }
一行毎に今度はカンマでちょん切る。csvは2個目が都道府県名なので、2個目をとりだして配列にいれていきます(そもそも都道府県名しか使わないなら、それしかないただのファイルで良いのですが、csvファイルを読み込むのをやってみたかったので)
パフォーマンスわからないし、もしかしたら便利なライブラリとかありそうですが。
この処理は1回やればいいので、AppDelegateでするようにしました。いや、その機能がはじめて動く時に1回が本当? 練習用なので適当です。
0 件のコメント:
コメントを投稿