Использование значения * в нескольких классах - PullRequest
2 голосов
/ 25 февраля 2012

Я уверен, что это ужасно просто, но это было озадачено часами.

Скажем, у меня есть следующие настройки ниже: (упрощенно)

-(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?

1 Ответ

3 голосов
/ 25 февраля 2012

Сделайте это переменной-членом ClassA и напишите метод получения для CCSprite *boat.

+(CCSprite *)boat
{
return boat;
}

Сейчас в классе B

[ClassA boat];  

EDIT
Вы также можете использовать свойства или связанные объекты ... оба работают исключительно хорошо, как предложено Richard J. Ross III .
Если вам требуется только один экземпляр объекта в вашем приложении, обратите внимание на Singletons, AppDelegates и данные верхнего уровня post.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...