Node节点需要用来重用,它的children的所有者应该只有它自己
所以这个children的setter需要自己写,类似于
这里注意一下内存管理。
- -(void)setChildren:(NSMutableArray*)array
- {
- NSMutableArray * temp = [[NSMutableArray arrayWithArray:array]retain];
- [children release];
- children = temp;
- }
决定是否是叶结点的属性的setter也需要自己写
- -(void)setIsLeaf:(BOOL)leaf
- {
- if (leaf)
- {
- self.children = [NSMutableArray arrayWithObject:self];
- }
- else
- {
- self.children = [NSMutableArray array];
- }
- isLeaf = leaf;
- }
要点不多,但是需要很小心。