最近、NSKeyedArchiver と NSKeyedUnarchiver について学んでいます。配列をアーカイブするには 3 つの方法があることがわかり、その違いを理解しようとしています。
1.使い方archiveRootObject:toFile:
[NSKeyedArchiver archiveRootObject:testArray toFile:filePath];
2.ファイルからデータを取得しarchivedDataWithRootObject:
て書き込む
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:testArray];
[data writeToFile:filePath atomically:YES];
3.encodeObject を使用してデータを取得する
NSMutableData *data = [NSMutableData data];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:testArray forKey:@"testArray"];
[archiver finishEncoding];
[data writeToFile:path atomically:YES];
テスト後、上記のすべての方法が正常に機能し、同じコンテンツをファイルに書き込むことがわかりました。
Q1: 上記のすべての方法との違いは何ですか?
Q2: NSData を第 3 の方法で使用できますか?