我有一个自定义CCNode
类,它有一堆子节点,我想保留对子节点的引用以进行一些自定义转换。
例如对于子背景,自定义类如下所示:
@interface MyNode : CCNode
@property (nonatomic, strong) CCNode *background;
@end
@implementation
- (void)setBackground:(CCNode *)background {
if (_background) {
[self removeChild:_background];
}
if (background) {
[self addChild:background];
}
_background = background;
}
- (void)runTransition {
if (_background)
[_background runAction:[…]];
}
@end
问题是这会导致 ARC 上的保留周期,而节点背景永远不会从内存中释放出来。