NSArchiver vs. NSKeyedArchiver - PullRequest
       6

NSArchiver vs. NSKeyedArchiver

10 голосов
/ 19 сентября 2010

Как узнать, нужно ли вам использовать NSArchiver или NSKeyedArchiver? Какая разница?

1 Ответ

13 голосов
/ 19 сентября 2010

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

Когда это возможно, используйте NSKeyedArchiver.Он более новый и, вероятно, в конечном итоге заменит вариант без ключа.

...