是否发布了UIView发布的所有子视图?

时间:2010-07-26 22:32:35

标签: iphone cocoa-touch uikit uiview

如果我有UIView,我在其中添加了已分配的子视图(在本例中为UIImageView),当我发布UIView时,UIImageView也将UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; UIImage *myImage=[UIImage imageNamed:@"image.png"]; // This is the subview: UIImageView *imageView=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; imageView.image=myImage; [view addSubview:imageView]; [imageView release]; 被释放?

我设置了我的观点和这样的子视图:

[view removeFromSuperview];
[view release];

现在,当我打电话:

{{1}}

分配的imageView是否也会被释放,还是应该通过删除所有视图的子视图来删除它?

非常感谢您对此主题的任何见解。

1 个答案:

答案 0 :(得分:13)

是。 UIView“拥有”子视图,因此当它本身被dealloc'd时它会释放它们。