removefromsuperview会删除子视图吗?

hub*_*hub 2 objective-c ios ios6

如果我有嵌套的子视图,如果我调用removefromsuperview,所有子视图都会被处理掉吗?

伪代码:

UIView *viewA = [[UIView alloc] initWithFrame:CGRectMake(0 , 0, 100, 100)];
[self.view addSubview:viewA];
UIView *viewB = [[UIView alloc] initWithFrame:CGRectMake(25 , 25, 50, 50)];
[viewA addSubview:viewB];
UIButton *buttonC = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[viewB addSubview:buttonC];
Run Code Online (Sandbox Code Playgroud)

然后按下buttonC:

[viewA removeFromSuperView];
Run Code Online (Sandbox Code Playgroud)

所有视图都会从屏幕上删除,但它们是否已正确删除?我是否需要手动删除所有视图?

Wai*_*ain 8

所有视图都将被删除.如果您保留对该strong引用的引用,viewA则所有视图仍将存在,并且可以在以后再次添加.如果你不这样做,它们都将被销毁.