Ostatnio uczę się o NSKeyedArchiver i NSKeyedUnarchiver. Odkryłem, że istnieją trzy sposoby zarchiwizowania tablicy i próbuję rozróżnić różnice.Różnice z archiveRootObject: toFile: and writeToFile:
1. Za pomocà archiveRootObject:toFile:
[NSKeyedArchiver archiveRootObject:testArray toFile:filePath];
dane 2.Get z archivedDataWithRootObject:
i zapisać go do pliku
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:testArray];
[data writeToFile:filePath atomically:YES];
3.Using encodeObject: aby uzyskać dane
NSMutableData *data = [NSMutableData data];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:testArray forKey:@"testArray"];
[archiver finishEncoding];
[data writeToFile:path atomically:YES];
Po przetestowaniu okazało się, że wszystkie powyższe sposoby działają poprawnie i zapisują tę samą zawartość do pliku.
Pytanie 1: Jakie są różnice we wszystkich powyższych metodach?
Q2: Czy mogę używać NSData w 3 sposób?