Quel est l'avantage d'utiliser nsnumber em> strong> à partir du cadre de fondation au lieu de types de base C (int, flotteur, double)? Utilisation de NSNumber: P> en utilisant pur c: p> semble beaucoup plus facile et économique à utiliser c. P> Je sais nsnumber est un type objet (ou classe?), mais pourquoi les utiliserais-je à la place des variables C simples? Quand devrais-je les utiliser? P> p>
3 Réponses :
Le but de Un exemple courant: vous devez utiliser Vous pouvez et devez utiliser des primitives pour des calculs (sauf avec des décimales, auquel cas vous utilisez nsnumber code> est simplement de casser les types primitifs des objets (types de pointer), vous pouvez donc les utiliser dans des situations nécessitant des valeurs de type pointeur pour fonctionner. P>
nsnumber code> si vous souhaitez persister les valeurs numériques dans les entités de données de base. P>
nsdecimal code> ou
nsdecimalnumate code>). p>
+1 Les classes de collection de la Fondation n'acceptent que des objets, pas des primitives.
Parce que pour traiter le passage de paramètres avec certains objets, l'utilisation d'un type de données de base ne fonctionnera pas. En outre, la classe NSNumber vous donne des options pour convertir rapidement des valeurs dans d'autres types de données. p>
Si vous devez passer un numéro sous forme d'objet, utilisez Si vous devez effectuer des opérations arithmétiques, vous pouvez utiliser nsnumber code>. p>
int code> et
double code>. Si vous ne voulez pas vous soucier des problèmes 32/64 bits, vous pouvez utiliser
nsinteger code> et
cgfloat code>. p>