2009-11-10 5 views
2

Je suis en train de jouer avec NSNumber pour une application iPhone, et de voir ce que je peux faire avec. Pour la plupart de mes variables, je les stocke simplement comme "int" ou "float" ou autres joyeusetés. Cependant, quand je dois passer un objet (comme dans un dictionnaire), j'ai besoin d'eux en tant qu'objet. J'utilise NSNUmber. C'est ainsi que j'initialise l'objet.NSNumber, réglage et récupération

NSNumber *testNum = [NSNumber numberWithInt:varMoney]; 

Où "varMoney" est un int que j'ai déclaré plus tôt dans le programme. Cependant, je ne sais absolument pas comment obtenir ce numéro de retour ...

par exemple:

varMoney2 = [NSNumber retrieve the variable...]; 

Comment puis-je récupérer la valeur de l'objet et le mettre à un régulier « int » à nouveau ?

Merci!

(Par curiosité, est-il un moyen de stocker « int » directement dans un dictionnaire Objective-C sans le mettre dans un premier NSNumber?)

Répondre

8

Vous voulez -intValue, ou un de ses amis (-floatValue, -doubleValue, etc.). À partir des documents:

intValue Renvoie la valeur du destinataire comme int.

- (int)intValue

Valeur de retour Apprécions Récepteur un int, convertir si nécessaire.

Le code serait:

int varMoney2 = [testNum intValue]; 
3
NSNumber *testNum = [NSNumber numberWithInt:varMoney]; 
/* Then later... */ 
int newVarMoney = [testNum intValue];