我发现我的游戏中的一个 SKNode 在其中一个孩子调用 removeFromParent 时删除了额外的孩子。为了验证这一点,我覆盖了 removeFromParent 并添加了以下断言,以验证仅删除了一个孩子。断言失败:
- (void) removeFromParent {
SKNode *parent = self.parent;
NSUInteger startingCount = [self.parent.children count];
[super removeFromParent];
if (parent) {
NSAssert([[parent children] count] == startingCount - 1, @"Wrong number of children after removing one child!");
}
}
我已经为此提交了一个错误报告,但我现在坚持下去,因为我没有解决方法。我想知道是否有其他人遇到过这种情况并且可能有解决方法。