想象一下,你有一个递归对象的结构是这样的:在Objective-C中以这种方式遍历对象图吗?
MyComposite *c = [MyComposite compositeWithName:@"Jack"];
// add/append some children ...
do
{
// do something with the current composite
...
// continue traversal
c = [c child];
}while (c);
这是遍历在内存管理方面是否有效?
取决于孩子对象的分配类型,如果父母被适当的保留和释放(@动态或@property ...) –
父母是一个弱属性(非原子,分配),孩子是一个属性(非原子,保留) –
我只是想知道,如果该图被分配c.child打扰c –