2013-03-19 4 views
2

У меня есть объект, который я должен кодировать с использованием encodewithcoder, но это «длинный» номер, и я не уверен, должен ли я кодировать его как простой int, int32 или int64. Документация Apple не кажется мне полезной, поскольку она никогда не относится к «длинному» типу.Какой кодер следует использовать для кодирования длинного свойства с помощью NSCoder?

Какой кодер является правильным ?.

Спасибо

+0

Предполагая, что невозможно изменить ваше свойство на известный примитив ширины, такой как int32_t или аналогичный? – nielsbot

+0

Это свойство определено в документации, полученной от клиента (крупное предприятие). Я действительно не знаю, что это свойство должно хранить. – rmvz3

ответ

3

Для прошивкой, long имеет длину 32 бита, то же самое, как int. long long дает вам 64 бит.

long someVar = 42l; 
[someEncoder encodeInt32:someVar forKey:@"someKey"]; 
+0

Вау !. Это было быстро!. Спасибо. – rmvz3

+0

Хмм, кодирование 'long' с' encodeInt32' дает мне предупреждение о потере точности, но не при использовании 'encodeInt64'. –