Попытка установить имя спрайта с помощью оператора if, а затем загрузить соответствующий файл на основе этой строки. Похоже, есть проблема с моей областью переменных, но я не знаю, что это такое.Objective C - XCode не распознает переменную за пределами оператора if
Вот мой код:
if ([[GameManager sharedGameManager] newHighScore] == TRUE) {
NSString *highScoreLabelText = @"label-new-high-score.png"
} else {
NSString *highScoreLabelText = @"label-high-score.png"
}
CCSprite *highScoreLabel = [CCSprite spriteWithSpriteFrameName:highScoreLabelText];
[highScoreLabel setAnchorPoint:ccp(0,0)];
[highScoreLabel setPosition:ccp(20, winSize.height * 0.575f)];
[self addChild:highScoreLabel];
XCode ослабевает ошибку, говоря, что highScoreLabelText является необъявленный идентификатор, и, таким образом, не будет компилировать приложение. Нужно ли мне объявлять что-то еще вместе с NSString, чтобы заставить остальную часть кода работать с переменной?
Приятно вам сказать, что я сказал в коде. – MyKuLLSKI
@MyKuLLSKI За последние несколько месяцев я заметил, что правильные ответы с большим количеством деталей привлекают больше внимания, чем просто правильные ответы; правильные ответы с кодом и множество деталей получают еще больше внимания. Предоставление деталей или исправление кода OP требует времени, поэтому вы часто отправляете свой ответ позже, чем кто-либо, кто заметил ошибку одновременно с вами. Я не являюсь одним из самых быстрых машинисток, поэтому у меня есть относительный недостаток. Когда я вижу ответ сопоставимого качества, опубликованный перед моим ответом, я удаляю свой ответ, если не вижу ошибок в коде другого ответа. – dasblinkenlight