Jac*_*son 5 objective-c cocos2d-iphone nsnotificationcenter ios
所以我有一个CCLayer对象,它有一个子CCSprite对象,当一个条件发生时(通过更新方法检测到)一个CCSprite的方法被调用,它自己调用以下
[[NSNotificationCenter defaultCenter] postNotificationName:@"mymethod" object:nil];
Run Code Online (Sandbox Code Playgroud)
然后CCLayer继续运行
[node removeFromParentAndCleanup:YES];
Run Code Online (Sandbox Code Playgroud)
用于CCSprite删除它.CCLayer还在init上调用了以下内容
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mymethod) name:@"mymethod" object:nil];
Run Code Online (Sandbox Code Playgroud)
现在9次中有10次这很好并按预期工作但偶尔我会得到一个指向通知帖子行的bad_access.
我从阅读有关类似问题的其他人的猜测是,这是因为子对象已被删除,但我不知道如何做它,因为它被删除之前被调用.
可能会发生什么事情来延迟调用帖子通知,并且最终在删除对象后调用,或者我是在咆哮错误的树?
UPDATE
添加了上面的删除代码,如果我注释掉删除和清理行,它就不会发生.
| 归档时间: |
|
| 查看次数: |
1125 次 |
| 最近记录: |