2013年2月27日水曜日

NSDictionary(plist)をバイナリで保存する

NSDictionaryはwriteToFileで簡単に保存できますが、XMLファイルで保存される為、サイズが非常に大きくなってしまう場合があります。

バイナリファイルで保存するには、NSPropertyListSerializationを使って以下のようにします。


// 辞書を生成
NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];

// 辞書に追加
[dic setValue:@"1" forKey:@"TEST"];

// ストリームを生成
NSOutputStream *outstream = [NSOutputStream outputStreamToFileAtPath:@"./testDic" append:NO];
[outstream open]; // オープン

// 辞書をバイナリでファイルに保存
[NSPropertyListSerialization writePropertyList:dic toStream:outstream format:NSPropertyListBinaryFormat_v1_0 options:NSPropertyListImmutable error:&error];
if (error != nil) {
NSLog(@"Error:%@", error.description);
}
[outstream close]; // クローズ



保存したものを読み込むには以下のようにします。



dic = [NSDictionary dictionaryWithContentsOfFile:@"./testDic"];




0 件のコメント:

コメントを投稿