iOSデータストアクラス-NSdata
1172 ワード
NSData(データストレージ関連)親はNSObject archiveRootObject:toFile:メソッドを使用して、1つのオブジェクトを1つのファイルに直接書き込むことができますが、複数のオブジェクトを同じファイルに書き込む場合は、NSDataを使用してアーカイブオブジェクト を作成する必要があります. NSDataは、その後ファイルに書き込み、またはディスクから読み込まれたファイルの内容を格納するために、いくつかのデータに一時的な記憶領域を提供することができる.[NSMutableData data]を使用して可変データ空間 を作成できます.
NSDataのアーカイブとリカバリアーカイブ(符号化) 復元(復号)
NSDataのアーカイブとリカバリ
//
NSMutableData *data = [NSMutableData data];
// NSKeyedArchiver
NSKeyedArchiver *archiver = [[[NSKeyedArchiver alloc] initForWritingWithMutableData:data] autorelease];
// , NSMutableData
[archiver encodeObject:person1 forKey:@"person1"];
[archiver encodeObject:person2 forKey:@"person2"];
// ( )
[archiver finishEncoding];
//
NSData *data = [NSData dataWithContentsOfFile:path];
// , NSKeyedUnarchiver
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
Person *person1 = [unarchiver decodeObjectForKey:@"person1"];
Person *person2 = [unarchiver decodeObjectForKey:@"person2"];
//
[unarchiver finishDecoding];