Skąd wiesz, czy musisz używać NSArchiver lub NSKeyedArchiver? Co za różnica?NSArchiver vs. NSKeyedArchiver
10
A
Odpowiedz
12
NSArchiver
obsługuje klucz mniej metod kodowania jak –encodeObject:
lub –decodePoint
, natomiast NSKeyedArchiver
obsługuje podstawowe metody kodowania opartego jak –encodeObject:forKey:
lub –decodePointForKey:
. Główna różnica polega na tym, że na archiverach musisz dekodować materiał dokładnie w ten sam sposób, w jaki go kodowałeś. Każdy klucz może zostać zdekodowany dokładnie jeden raz. Ukierunkowane archiwa, z drugiej strony, nie ograniczają cię do dowolnej kolejności i możesz dowolnie dekodować ten sam obiekt.
Jeśli to możliwe, należy użyć NSKeyedArchiver
. Jest nowsza i prawdopodobnie ostatecznie zastąpi wariant bez klucza.
Ponadto NSArchiver nie jest dostępny dla aplikacji na iPhone'a. –