Pregunta

Estoy trabajando en un roguelike Objective-C / Cocoa, porque siempre he encontrado que trabajando en un juego es la mejor manera de conocer un idioma. He llegado bastante lejos con mi juego, pero estoy teniendo un problema.

Cada level.plist se define con algunas cosas, así:

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

Se tomó como tal, también me gustaría decir que este código es todo funciona bien:

NSObject* level = [mapDictionary_ objectForKey: kLevelNumberKey];

Sin embargo, en mi NSLog-exploración, he encontrado que en lugar de agarrándome un entero, o incluso un número útil, esto me agarra un objeto de algún tipo, que devuelve el valor correcto cuando NSLogged. ¿Cómo hago para hacer este valor en un entero de modo que pueda usarlo como me gustaría ser? Tenga en cuenta que sólo he utilizado NSObject* porque nada más funcionaba bien. Si usara =(int) lugar me gustaría tener el valor del puntero o lo que sea (1108608 por ejemplo).

Estoy seguro de que es una solución simple, y les agradezco de antemano. Si no le importaría explicar exactamente lo que está sucediendo, que sería grande. Mi comprensión de los conceptos está muy bien, mejor que la mayoría recién llegados, pero siempre estoy interesado en exactamente lo que está sucediendo. ¿De qué serviría aprender a programar si yo no sabía lo que estaba pasando! Por favor, ser más que dispuesto a aconsejarme de otras situaciones como esta que mirar hacia fuera / estar listo para también. Cualquier consejo, realmente es apreciada, y se va a alguien que tiene la intención de codificar para un tiempo muy largo. Postpongo el aprendizaje de este demasiado tiempo, lo único que lamento no se inicia antes.

Si, por cualquier razón, usted está interesado en probar mi juego hasta el momento: Enlace Actualmente estoy en el proceso de implementación estado de ahorro de manera que los niveles se mantienen como estaban. Es, obviamente, sólo OS X. Estoy muy orgulloso de él hasta ahora, pero tengo un largo camino a la izquierda. Los controles se enumeran en la aplicación.

¿Fue útil?

Solución

El valor es un NSNumber objeto. Se puede conseguir como un int utilizando el método -intValue

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top