Игра с cocos2d, и это, кажется, встречается в некоторых случаях передачи сообщений. Я должен признать, что я еще не очень хорошо разбираюсь в Objective-C, поскольку я читаю книгу и пишу код.
Для людей, знакомых с cocos2d, у вас есть класс CCLayer
. В моем случае у меня есть GameLayer
, в котором есть несколько дочерних слоев, например:
@interface GameLayer : CCLayer {
CCSprite *_background;
CCPanZoomController *_controller;
CCLayer *_truckLayer;
}
У меня есть специальный метод initWithLayers
для добавления моих дочерних слоев в этот слой:
-(id)initWithLayers:(TruckLayer *)truck
{
if( (self=[super init])) {
self.truckLayer = truck;
.....
}
Теперь, если я когда-нибудь отправлю сообщение на self.truckLayer
, я получу следующее предупреждение в Xcode:
'CCLayer' may not respond to 'getNextAvailableSpot'
Примером может быть что-то вроде этого:
CGPoint nextSpot = [self.truckLayer getNextAvailbleSpot];
Весь этот код компилируется и запускается успешно, поэтому мне интересно, что мне здесь не хватает? Я не хочу, чтобы мой код был засорён этим, если я здесь что-то не так делаю.