NSArchiver
поддерживает методы кодирования без ключа, такие как –encodeObject:
или –decodePoint
, а NSKeyedArchiver
поддерживает методы кодирования на основе ключа, такие как –encodeObject:forKey:
или –decodePointForKey:
.Основное отличие состоит в том, что на архиваторах вам необходимо декодировать материал точно так же, как вы его кодировали.Каждый ключ может быть декодирован ровно один раз.С другой стороны, ключевые архиваторы не ограничивают вас никаким порядком, и вы можете свободно декодировать один и тот же объект несколько раз.
Когда это возможно, используйте NSKeyedArchiver
.Он более новый и, вероятно, в конечном итоге заменит вариант без ключа.