Я обнаружил, что один из моих SKNodes в моей игре удаляет дополнительных дочерних узлов, когда один из его дочерних элементов вызывает 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!");
}
}
Я подал отчет об ошибке для этого, но теперь я застрял на этом, потому что у меня нет обходного пути. Мне интересно, если кто-нибудь еще сталкивался с этим и может иметь обходной путь для этого.