NSArray・NSDictionaryの writeToFileメソッドを使うだけでPListに出力できます。
つまり手順としては
- CSVファイルを読み込み、配列に格納する。
- 配列をそのまま writeToFileする。
以上です。
//STEP 1
// CSVファイルを読み込む
NSString *filePath = @"/Users/hoge/hoge.csv";
NSString *text = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSMutableArray *marr = [NSMutableArray array];
// 改行文字で区切って配列に格納する
NSArray *lines = [text componentsSeparatedByString:@"\n"];
for (NSString *row in lines) {
// コンマで区切って配列に格納する
NSArray *items = [row componentsSeparatedByString:@","];
if (items.count > 1) {
NSDictionary *item = [[NSDictionary alloc]
initWithObjects:@[items[0],items[1]]
forKeys:@[@"name",@"class"]];
[marr addObject:item];
}
}
//STEP 2
// ホームディレクトリを取得
NSString *homeDir = NSHomeDirectory();
NSString *fileName = @"hoge.plist";
// 書き込み
BOOL result = [marr writeToFile:[homeDir stringByAppendingPathComponent:fileName]
atomically:YES];
if (!result) {
NSLog(@"ファイルの書き込みエラー");
}else{
NSLog(@"ファイルの書き込み成功");
}