Строка Objective-c не работает

#objective-c #string

#objective-c #строка

Вопрос:

Привет, я новичок в Objective C, и у меня есть вопрос. Итак, вот мой код…

 CCScene *restartScene = [CCBReader loadAsScene:@"Levels/Level%d",_currentLevel];
 

В принципе, когда загружается уровень, я хочу, чтобы он загружал значение _currentLevel любого уровня, но я получаю сообщение об ошибке «слишком много аргументов для вызова метода, ожидается 1, есть 2». Я, вероятно, совершаю действительно ошибку новичка, но заранее спасибо.

Комментарии:

1. [CCBReader loadAsScene:[NSString stringWithFormat:@»Уровни /Уровень%d»,_currentLevel]];

Ответ №1:

Вам нужно использовать stringWithFormat: для создания строки с использованием параметров…

 NSString *sceneString = [NSString stringWithFormat:@"Levels/Level%d", _currentLevel];
CCScene *restartScene = [CCBReader loadAsScene:sceneString];
 

Вы не можете добавить параметры к строке, не используя какой-либо создатель строки.

Ответ №2:

LoadAsScence нуждается в строке в качестве аргумента. Итак, вам нужно создать строку:

 CCScene *restartScene = [CCBReader loadAsScene: [NSString stringWithFormat:@"Levels/Level%d",_currentLevel];
 

Комментарии:

1. Большое вам спасибо. Я знал, что, должно быть, делал что-то глупое. Извините, я не могу проголосовать за ваш комментарий, у меня недостаточно репутации.