最近NSKeyedArchiverとNSKeyedUnarchiverについて学習しています。私は配列をアーカイブする3つの方法があり、その違いを理解しようとしていることが分かりました。 1.UsingarchiveRootObjectとの相違点:toFile:とwriteToFile:
archiveRootObject:toFile:
[NSKeyedArchiver archiveRootObject:testArray toFile:filePath];
archivedDataWithRootObject:
から
2.Getデータと、それは
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:testArray];
[data writeToFile:filePath atomically:YES];
3.Using 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番目の方法で使用できますか?