Я работаю над 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 только. Я до сих пор горжусь этим, но мне еще предстоит пройти долгий путь. Элементы управления перечислены в приложении.