Переменные приложения SOAP - NSNumber или NSString для целого числа? - PullRequest
0 голосов
/ 16 апреля 2010

В приложении SOAP все взаимодействие с сервером осуществляется в виде текста, когда серверу требуется целое число, это отправляется текстовое значение, а возвращаемые целые числа отправляются обратно в виде текста.

Чтобы приложение работало с целыми числами, необходимо преобразовать возвращаемые строки в числа, например. NSInteger, но затем, например, чтобы сохранить их в массиве, они должны быть объектами (NSNumber), но тогда, когда необходимо числовое значение, вы должны извлечь его, поэтому лучше оставить все числовые переменные как NSStrings и извлечь только числовые значение при необходимости?

По сути, мой вопрос в мыльном приложении: не проще ли просто иметь все переменные в виде NSStrings? Поскольку они похожи на объекты NSNumber с точки зрения использования и оставляют все числа в виде строк, по крайней мере, избавляет от необходимости преобразовывать туда-сюда всякий раз, когда задействовано взаимодействие с сервером.

1 Ответ

0 голосов
/ 16 апреля 2010

Хранение целого числа в NSNumber, вероятно, будет иметь меньшие издержки - какими бы минимальными это ни казалось - по сравнению с NSString. Строка символов может содержать несколько байтов на глиф в зависимости от кодировки символов, и тогда вам нужен нулевой символ в конце строки, чтобы завершить его.

Парсер должен пройти через все это, чтобы превратить строку обратно в целое число в конце дня, например, когда вам неизбежно понадобится выполнить арифметику с этими значениями.

Далее, использование NSNumber прояснит вам, с каким примитивным типом данных вы работаете, из запроса или ответа SOAP не только при написании приложения, но и при возврате к нему через несколько месяцев. и вам нужно внести изменения.

...