2012-02-25 29 views
2

我相信这非常简单,但它已经困扰了好几个小时。在多个类中使用*值

说我有以下以下设置:(简体)

-(void) ClassA { 
CCSprite *boat = [CCSprite spriteWithFile:@"boat.png"]; 
[self addChild: boat]; 
} 

-(void) ClassB { 
CGPoint velocity = CGPointMake(0, 1); 
boat.position = ccpAdd(boat.position, velocity); 
} 

我将如何让*为船的ClassA ClassB中使用吗?

+3

是'ClassA'和'ClassB'属于同一个类的两种方法,还是他们的命名意味着暗示它们是方法不同的类? – CRD 2012-02-25 20:17:36

回答

3

使其成为ClassA的成员变量,并为CCSprite *boat写入getter方法。

+(CCSprite *)boat 
{ 
return boat; 
} 

现在,在B类

[ClassA boat]; 

编辑
你也可以使用性质或相关联的对象......工作都非常出色,通过Richard J. Ross III建议。
如果在应用程序中只需要一个对象的单个实例,请查看Singletons, AppDelegates and top-level data的帖子。

+0

你也可以使用属性或关联的对象......都工作得非常好。 – 2012-02-25 19:49:58