Objective c UIView是否会在Cocoa Touch中释放其子视图?

Objective c UIView是否会在Cocoa Touch中释放其子视图?,objective-c,cocoa,cocoa-touch,memory-management,uiview,Objective C,Cocoa,Cocoa Touch,Memory Management,Uiview,如果我在运行时创建一个UIControl并将其添加到视图中(通过addSubview:),视图会释放它还是我应该这样做 下面是一个示例代码: -(IBAction) cloneMe: (id) sender{ if (!currentY) { currentY = [sender frame].origin.y; } UIButton *clone = [UIButton buttonWithType:UIButtonTypeRoundedRect];

如果我在运行时创建一个UIControl并将其添加到视图中(通过addSubview:),视图会释放它还是我应该这样做

下面是一个示例代码:

-(IBAction) cloneMe: (id) sender{

    if (!currentY) {
        currentY = [sender frame].origin.y;
    }

    UIButton *clone = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    CGRect cloneFrame = [sender frame];
    cloneFrame.origin.y += currentY + cloneFrame.size.height + 30;
    clone.frame = cloneFrame;
    [clone setTitle:@"I'm a clone" forState:UIControlStateNormal];

    [[sender superview] addSubview:clone];

    currentY = cloneFrame.origin.y + cloneFrame.size.height;


}

当您添加子视图时:接收者保留参数,并在您通过其中一种方法删除参数时释放参数。

[UIButton Button WithType:UIButtonyPeroundRect]
为您提供一个已经自动删除的对象。 这意味着你没有“拥有”这个对象,因此你没有责任释放它

如果你保留了它,那么你会明确地说你想为自己保留这个对象,这意味着你将承担释放它的责任

UIView
将保留其子视图,因此发布它们是
UIView
的责任。
ui视图
将在其自身解除锁定或子视图从superview中删除时释放其子视图


基本上,如果您没有
alloc/init
new
copy
保留一个对象,那么它就不是您的对象,您不负责释放它。你不必担心它,任何拥有该对象的对象(在你的例子中是
UIView
)都会在处理完后释放它。

你能给出一个简单的代码示例吗?所以我想我应该自动释放它。