私はcocos3Dを使用しています(ただし、それは問題ではありません。)
@interface MyScene : CC3Scene
{
MyObject *theObject;
GameLogic *gLogic;
}
@implementation MyScene
-(void)initializeScene
{
gLogic = [[[GameLogic alloc] init] autorelease];
theObject = [[[MyObject alloc] init] autorelease];
[self addChild:theObject];
[[NSNotificationCenter defaultCenter] addObserver:gLogic
selector:@selector(testHandler:)
name:@"objectMoved"
object:theObject];
}
GameLogicには、単純な通知ハンドラーがあります(ヘッダーでも宣言されています)...
-(void)testHandler:(NSNotification*)notification
{
NSLog(@"Notification: %@", [notification name]);
}
MyObjectでは、時間になるとこのメソッドを呼び出します
-(void)dispatchEvent
{
NSLog(@"SHOULD DISPATCH THE EVENT");
[[NSNotificationCenter defaultCenter] postNotificationName:@"objectMoved" object:self];
NSLog(@"EVENT DISPATCHED");
}
しかし、postNotificationName行を強調表示するとクラッシュします...エラーはEXC_BAD_ACCESSであり、(私が正しく理解していれば)割り当て解除されたオブジェクトへの参照があることを意味します......。
何が起こっていますか?