encodeObject: encodeInt: кодировщик уже не знает тип? - PullRequest
0 голосов
/ 31 марта 2012

Только начал работать с NSCoder + NSKeyedArchiver (а я новичок в Objective C).

Хотите знать, почему мы должны указывать тип данных при кодировании (encodeObject: encodeInt: и т. Д.)поскольку тип уже был определен для всех переменных.Является ли типизация данных только вспомогательным средством времени компилятора для предотвращения несовпадений типов, которые могут возникнуть во время выполнения?Это для скорости, чтобы кодировщик не проверял тип?

Простой вопрос, но я хочу узнать немного больше о том, что происходит под капотом.

1 Ответ

0 голосов
/ 31 марта 2012

Если вы заметили, перечислены только примитивы.Вы не можете записывать примитивы в кодер, поэтому есть удобные методы, чтобы превратить их в реальные объекты перед их сохранением (и наоборот).Например, encodeInt превратит int в объект NSNumber.В противном случае вам придется делать это каждый раз самостоятельно;).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...