Question

Je travaille sur un Objective-C / Cocoa roguelike, parce que je l'ai toujours trouvé que le travail sur un jeu est la meilleure façon d'apprendre une langue. Je suis devenu assez loin avec mon jeu, mais je vais avoir un problème.

Chaque level.plist est défini avec quelques petites choses, comme ceci:

<key>Save Location</key>
<integer>0</integer>

Il est saisi comme, je voudrais aussi dire que ce code est tout fonctionne bien:

NSObject* level = [mapDictionary_ objectForKey: kLevelNumberKey];

Cependant, dans mon NSLog-explorer, j'ai trouvé qu'au lieu de me saisir un entier, ou même un nombre utile, cela me saisit un objet de quelque sorte, qui renvoie la valeur correcte lorsque NSLogged. Comment dois-je de faire cette valeur dans un entier pour que je puisse l'utiliser comme je veux être? Notez que je ne l'ai utilisé NSObject* parce que rien d'autre a travaillé droit. Si je =(int) à la place que je recevrais la valeur du pointeur ou quel que soit (1108608 par exemple).

Je suis sûr que c'est une solution simple, et je vous remercie d'avance. Si vous ne me dérangerait pas d'expliquer exactement ce qui se passe, ce serait génial. Ma compréhension des concepts est très bien, mieux que la plupart des nouveaux arrivants, mais je suis toujours intéressé exactement ce qui se passe. A quoi servirait apprendre à programmer si je ne savais pas ce qui se passait! S'il vous plaît être plus que disposés à me conseiller d'autres situations comme celle-ci à surveiller / être prêt aussi bien. Tout conseil, est très apprécié, et se rendra à quelqu'un qui a l'intention de coder pour un temps très long. Je rebuté apprendre ce beaucoup trop longtemps, mon seul regret ne démarre plus tôt.

Si, pour une raison quelconque, vous êtes intéressé à essayer mon jeu à ce jour: lien Je suis en train de mettre en œuvre l'économie d'Etat afin que les niveaux restent que vous les avez laissés. Il est évidemment OS X uniquement. Je suis assez fier jusqu'à présent, mais j'ai un long chemin à gauche. Les contrôles sont répertoriés dans l'application.

Était-ce utile?

La solution

La valeur est un NSNumber objet. Vous pouvez l'obtenir comme un int en utilisant le méthode de -intValue

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top