2011-04-06 10:12:14
plistファイルの読み込みと書き込み
テーマ:iPhoneアプリ開発
記録をとっていくタイプのアプリを開発中で、その記録をplistファイルに保存していくことにした。
Xcodeで作成したplistファイルに保存でなくて、iPhone内にファイルを作成して保存していく。
同じファイル名のファイルがない場合は、新規作成して、ある場合は、そのファイルを読み込むというもの。
ネットで検索していると、事前にファイルを作られたplistファイルを読み込みというのはあったんだけど、アプリで作成した場合の方法がなかなか無かったので、記録として残しておく。
Xcodeで作成したplistファイルに保存でなくて、iPhone内にファイルを作成して保存していく。
同じファイル名のファイルがない場合は、新規作成して、ある場合は、そのファイルを読み込むというもの。
ネットで検索していると、事前にファイルを作られたplistファイルを読み込みというのはあったんだけど、アプリで作成した場合の方法がなかなか無かったので、記録として残しておく。
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filepath = [documentsDirectory stringByAppendingPathComponent:@"photodata.plist"];
NSMutableArray* datas;
if([[NSFileManager defaultManager] fileExistsAtPath:filepath] == NO){
//ファイルが存在しなければファイルを作成する
[[NSFileManager defaultManager] createFileAtPath:filepath contents:nil attributes:nil];
}else{
datas = [NSMutableArray arrayWithContentsOfFile:filepath];
}
//日付取得
NSString* date_str;
NSDate *now = [NSDate date];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];。
[formatter setDateFormat:@"YYYY-MM-dd"];
date_str = [formatter stringFromDate:now];
[formatter release];
NSMutableDictionary* list = [[NSMutableDictionary alloc]init];
[list setObject:date_str forKey:@"date"];
[list setObject:@"aaa" forKey:@"name"];
[list setObject:@"10" forKey:@"size"];
//データを入れる
[datas addObject:list];
//ファイルを書き込み
[datas writeToFile:filepath atomically:YES];












