如何在目标c中从另一个类传递消息到实例?

时间:2010-07-10 04:39:23

标签: objective-c messaging instance

坚持我认为这里很简单的事情。基本上我需要将指向对象的指针作为参数传递给另一个类的实例方法。换句话说:我有一个创建“Things”的类,我有另一个类的实例,我希望收到“Things”。

使用Cocos2D框架。 Things是CCSprite的自定义子类,接收它们的实例是CCLayer。

我认为我误解了关于伊娃的基本内容或者这里的属性。任何指向正确方向的人都会受到赞赏。

这是ThingLayer的界面,它应该收到“东西”:

@interface ThingLayer: CCLayer {
 CCTextureAtlas *textureAtlas; 
 ThingLayer *thingLayer;
 NSMutableArray *ThingsArray;
}


- moveThingtoLayer:(Thing*)athing;

@end

以下是我试图从课外向实例发送消息的方式:

 [ThingLayer moveThingtoLayer:thing];

我意识到我在这里问班级,而不是实例......这给了我“可能没有回应......”的错误。但这也不起作用(询问实例名称)......

 [thingLayer moveThingtoLayer:thing];

有任何明显的答案吗?

1 个答案:

答案 0 :(得分:2)

看起来你应该

ThingLayer *thingLayer = [[ThingLayer alloc] init]; 
[thingLayer moveThingtoLayer: thing];

作为一个想法,你很可能想在thingLayer中初始化一个新东西,以便实例拥有Thing,并在调用moveThingToLayer之后释放东西。