Question idiote sur NSNumber
clampin
Membre
Bonjour
Pour savoir si j'ai bien compris, est-ce que :
Peut être équivalent à
PS : Si je ne suis pas dans le bon forum, merci de rediriger....
Pour savoir si j'ai bien compris, est-ce que :
<br /><br />NSNumber * nombre1 = [NSNumber numberWithInt:12];<br /><br />
Peut être équivalent à
<br /><br />int nombre1;<br /><br />nombre1 = 12;<br /><br />
PS : Si je ne suis pas dans le bon forum, merci de rediriger....
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
int est un type (ancien) du (vieux) langage C, tandis que NSNumber est une classe permettant de stocker un nombre (dans ton exemple, un nombre issu d'un int).
.
Les 2 formes ne sont pas équivalentes:
- la forme "objective-c" (NSNumber donc) est un objet, et peut de ce fait être manipulé comme tous les autres objets (soumise au retain/release, stockées dans un NSArray,...)
- la forme "antique" est par contre utile car elle est utilisable pour faire des calculs (tu ne peux pas additionner 2 nsnumber sans les convertir en int).
donc il faut un peu jongler entre les 2.
Quoique, en utilisant la sous-classe NSDecimalNumber de NSNumber, on peut faire ces opérations :
Ce qui donne :
[tt]2006-09-23 15:37:34.604 progressbar-cifilter[19861] 12+4=16[/tt]
.