在我的iPhone / iPad应用中,

我要在主视图中添加一个子视图。

该子视图具有一个imageview和一个按钮。

什么时候释放它们?

我的代码在这里,

 customAlertView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 600, 600)];


         UIImageView *imgv=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"celebration.png"]];

          UIButton *btnOK=[UIButton buttonWithType:UIButtonTypeCustom];

         [btnOK setTitle:@"OK" forState:UIControlStateNormal];
         [btnOK addTarget:self action:@selector(alertOKClicked) forControlEvents:UIControlEventTouchUpInside];

         [customAlertView addSubview:btnOK];
         [customAlertView addSubview:imgv];
         [self.view addSubview:customAlertView];

         [imgv release];
         [btnOK release];



In one another method I am writing the code.

  [customAlertView removeFromSuperview];


我的困惑是imageview和按钮在那里如果


我在这里释放customalertview,它将自动释放其子视图。
如果是,那就没问题。
如果没有怎么释放它

正如我在此所做的,添加子视图后立即释放对象。
这将导致我的“确定”按钮不值得。并且不会影响按钮的单击。

所以,我应该从超级视图中删除。


[[customalertview子视图]发布];

最佳答案

您的代码是正确的。

将它们添加到警报视图后,您可以释放它们,因为警报视图会保留它们。调用removeFromSuperview时,它将自动释放。

09-07 12:04