метод не вызывается в делегате - PullRequest
0 голосов
/ 11 марта 2012

У меня есть 2 класса, ObjectBody (BodyNode) и UpdateLayer (CCLayer), я реализовал метод делегата, чтобы ObjectBody вызывал метод в UpdateLayer. Вот пример моего протокола делегата.

В моей ObjectBody.h

//Here i set up the protocol
@protocol objectDelegate
-(void) updateStatus
@end

//ObjectBody is a BodyNode
@interface ObjectBody:BodyNode{
    id<objectDelegate> delegate
}

@property (nonatomic,assign)id<objectDelegate>delegate;

В моей ObjectBody.mm

//synthesize the property in .h
@synthesize delegate

//sendStatus will get called upon collision
-(void)sendStatus{
[delegate updateStatus]

В моем UpdateLayer.h

@interface UpdateLayer:CCLayer<objectDelegate>{
    ObjectBody *object;
}

В моем UpdateLayer.mm

-(id)init{
    if((self=[super init])){
       object=[[ObjectBody alloc]init];
       [object setDelegate:self]; 
    }
}

-(void)updateStatus{
    //Update something here
}

Проблема в том, что метод updateStatus вообще не вызывается. есть идеи?

1 Ответ

0 голосов
/ 12 марта 2012

в методе инициализации UpdateLayer, не следует ли сохранить объект?

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