【问题标题】:Does releasing a UIView release all its subviews?发布 UIView 是否会释放其所有子视图?
【发布时间】:2010-07-26 22:32:34
【问题描述】:

如果我有一个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];

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

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

【问题讨论】:

    标签: iphone cocoa-touch uikit uiview


    【解决方案1】:

    是的。 UIView“拥有”子视图,所以当它自己被释放时它会释放它们。

    【讨论】:

    • ... 这并不是说子视图本身是被释放的,因为它们可能被其他东西(或其他几个东西)保留。
    猜你喜欢
    • 2011-09-24
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多