Пытаетесь получить целое число из предопределенного p-списка? ObjC / какао - PullRequest
0 голосов
/ 22 июля 2009

Я работаю над Objective-C / Cocoa roguelike, потому что я всегда считал, что работа над игрой - лучший способ изучения языка. Я довольно далеко продвинулся в игре, но у меня проблема.

Каждый level.plist определяется несколькими вещами, например:

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

Это схвачено так, я также хотел бы сказать, что этот код все работает нормально:

NSObject* level = [mapDictionary_ objectForKey: kLevelNumberKey];

Однако, в моем NSLog -исследовании я обнаружил, что вместо того, чтобы захватить меня целое число или даже полезное число, это захватывает мне какой-то объект, который возвращает правильное значение, когда NSLogged. Как мне превратить это значение в целое число, чтобы я мог использовать его так, как хотел бы? Обратите внимание, что я использовал NSObject*, потому что больше ничего не работало правильно. Если бы я использовал =(int) вместо этого, я бы получил значение указателя или что-то еще (например, 1108608).

Я уверен, что это простое решение, и заранее благодарю. Если вы не против объяснить, что именно происходит, это было бы здорово. Я понимаю концепции хорошо, лучше, чем большинство новичков, но меня всегда интересует, что именно происходит. Какая польза от обучения программированию, если я не знаю, что происходит! Пожалуйста, будьте более чем готовы сообщить мне о других ситуациях, таких как эта, чтобы не упустить / быть готовым также. Любой совет, действительно ценится, и будет идти к тому, кто собирается писать код очень долго. Я слишком долго откладывал изучение этого, мое единственное сожаление не начинается раньше.

Если по какой-либо причине вы заинтересованы в том, чтобы попробовать мою игру до сих пор: Ссылка В настоящее время я нахожусь в процессе сохранения состояний, чтобы уровни оставались такими, какими вы их оставили. Это явно OS X только. Я до сих пор горжусь этим, но мне еще предстоит пройти долгий путь. Элементы управления перечислены в приложении.

1 Ответ

2 голосов
/ 22 июля 2009

Значением является NSNumber объект. Вы можете получить его как int, используя метод -intValue

...