Пытаетесь получить целое число из заранее определенного p-списка?Объект/Какао

StackOverflow https://stackoverflow.com/questions/1163848

Вопрос

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

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

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

Схвачено так, еще хочу сказать, что с этим кодом все работает нормально:

NSObject* level = [mapDictionary_ objectForKey: kLevelNumberKey];

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

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

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top