0 votes

Variables d'application SOAP - NSNumber ou NSString pour les entiers ?

Dans une application SOAP, toutes les communications avec le serveur se font sous forme de texte. Lorsque le serveur a besoin d'un entier, c'est la valeur texte qui est envoyée et les entiers renvoyés sont renvoyés sous forme de texte.

Pour que l'application fonctionne avec des nombres entiers, il faut convertir les chaînes retournées en nombres, par exemple NSInteger, mais ensuite, pour, par exemple, les sauvegarder dans un tableau, elles doivent être des objets (NSNumber), mais ensuite, chaque fois que la valeur numérique est nécessaire, il faut l'extraire. Est-il préférable de laisser toutes les variables basées sur les nombres en tant que NSStrings et d'extraire la valeur numérique uniquement si nécessaire ?

Ma question est la suivante : dans une application de type "soap", n'est-il pas plus simple d'avoir toutes les variables sous forme de NSStrings ? Puisqu'elles sont similaires aux objets NSNumber en termes d'utilisation et que laisser tous les nombres en tant que chaînes permet au moins d'éviter d'avoir à convertir dans les deux sens chaque fois qu'il y a une communication avec le serveur.

0voto

Alex Reynolds Points 45039

Stockage d'un entier dans un NSNumber aura probablement des frais généraux moins élevés - aussi minimes qu'ils puissent paraître - que ceux d'un NSString . Une chaîne de caractères peut comporter plusieurs octets par glyphe en fonction de l'encodage des caractères, et il faut ensuite un caractère nul à la fin de la chaîne pour la terminer.

Un analyseur syntaxique doit tenir compte de tout cela pour transformer une chaîne de caractères en un nombre entier à la fin de la journée, par exemple lorsque vous devrez inévitablement effectuer des opérations arithmétiques sur ces valeurs.

En outre, l'utilisation de NSNumber vous permettra de savoir plus clairement avec quel type de données primitives vous travaillez à partir de la requête ou de la réponse SOAP, non seulement lorsque vous écrivez votre application, mais aussi lorsque vous y reviendrez plusieurs mois plus tard et que vous aurez besoin d'y apporter des modifications.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X