Я на самом деле пытался найти их разницу с точки зрения IOS. Добавим следующее для интересующихся:
Назначение:
Архивация используется для хранения графов объектов. Полная модель данных может быть легко заархивирована и восстановлена. Принцип работы Nib-файлов можно рассматривать как пример для архивирования.
Сериализация используется для хранения произвольной иерархии объектов.
Работа с файлами wat plist может рассматриваться как пример сериализации.
Различия (выдержки из руководства по программированию Архива):
«Архив сохраняет идентичность каждого объекта в графе и все отношения, которые он имеет со всеми другими объектами в графе».
Каждый объект, закодированный в контексте вызова rootObject, отслеживается. Если кодера просят кодировать объект более одного раза, кодер кодирует ссылку на первое кодирование вместо того, чтобы снова кодировать объект.
"Сериализация только сохраняет значения объектов и их положение в иерархии. Многократные ссылки на один и тот же объект значения могут привести к множеству объектов при десериализации. Изменчивость объектов не поддерживается."
Различия в реализации:
Любой объект, который реализует протокол NSCoding, может быть заархивирован, где могут быть сериализованы только экземпляры NSArray, NSDictionary, NSString, NSDate, NSNumber и NSData (и некоторые из их подклассов). Содержимое объектов массива и словаря также должно содержать только объекты этих нескольких классов.
Когда использовать:
списки свойств (сериализация) должны использоваться для данных, которые состоят в основном из строк и чисел. Они очень неэффективны при использовании с большими блоками двоичных данных.
Стоит архивировать объекты, отличные от plist, или хранить большие блоки данных.