Переменные подкласса не наследуются при сборке на iPhone - PullRequest
3 голосов
/ 15 августа 2011

Я новичок в Objective-c, так что извините, если мне не хватает чего-то действительно очевидного. В настоящее время я пишу игру, которая включает в себя множество мини-игр. Я построил

SuperGameController

подкласс UIViewController, а затем все мои игры в качестве подклассов этого. Контроллер SuperGame имеет ряд переменных, определенных в интерфейсе следующим образом:

@interface SuperGameController : UIViewController {
    MainViewContoller *mainView;

    bool GAME_PLAYING;
    bool PAUSED;
    bool WIN;

    ball *theBall;
    UIImage *mainBall;
    UIImageView *ballView;
}

и поэтому (мне сказали) мне не нужно определять эти переменные в заголовочном файле каждой отдельной игры. Я построил несколько таких мини-игр, и они работают на имитаторе iPhone 4.3, но когда я пытаюсь запустить проект на своем iPhone, он говорит мне, что каждая из этих переменных равна

undeclared (first use in this function)

Что мне нужно сделать, чтобы убедиться, что проект работает на iPhone, или я просто упускаю что-то очевидное здесь? Я много играл и не нашел ничего, что могло бы помочь. Любая помощь, которую вы могли бы оказать, была бы потрясающей !!

Спасибо !!

1 Ответ

1 голос
/ 15 августа 2011

Кажется, есть ошибка XCode - она ​​прекрасно компилирует для симулятора, но не для устройства.

Используйте self -> [name] в качестве обходного пути (например, self-> theBall, self-> GAME_PLAYING и т. Д.)

Редактировать: чтобы уточнить, предполагается, что вы не используете свойства, а непосредственно ивара. Если вы делаете свойства из TheBall, GAME_PLAYING и т. Д., Используйте self. [Property] (т.е. точка, а не ->).

...