我不完全理解如何在obj-C中使用委託模式。基本上我有一個類:DigGameControlLayer.h
,在它的標題中,我定義了一個,這個類需要所有用戶都需要實現的方法。然後,我創建了delegate
屬性,我在代碼中使用該屬性,就像任何其他屬性一樣,委託moveObjectToPosition:
方法應該執行的操作。到目前爲止,我希望這麼好。Objective-C:初始化代理的位置
//DigGameControlLayer.h
@protocol DigGameControlLayerDelegate <NSObject>
-(void) moveObjectToNewPosition: (CCSprite *)object atSpeed:(float)moveSpeed;
@end
@property (assign) id <DigGameControlLayerDelegate> delegate;
然後就是使用類(在這種情況下DigCharacter)類的說,它附着在DigGameControlDelegate
協議
@interface DigGoblinPlayer : DigCharacter <DigGameControlLayerDelegate>
但是我不明白的是我在哪裏可以初始化和設置delegate
屬性聲明?原因目前它什麼也不做,當我使用它在DigGameControlLayer
因爲it's空
[self.delegate moveObjectToNewPosition:object atSpeed:moveSpeed];
現在就工作,謝謝!最後,我瞭解了代表團模式 - 我不知道爲什麼它很難理解。 – 2013-05-06 06:13:20