如何在iOS中返回View Controller时释放nsmutablearray

时间:2013-11-25 08:59:16

标签: ios objective-c uiviewcontroller

我有3个UIViewcontroller A(根视图控制器),B和C.我使用下面的代码从A.Do推送ViewController B,同样从A推送Viewcontrolller C.

BViewController *statusView = [[BViewController alloc]initWithNibName:@"BViewController" bundle:nil];
UINavigationController *objNavigationController=[[[UINavigationController alloc]initWithRootViewController:statusView]autorelease];
[self presentViewController:objNavigationController animated:NO completion:nil];
[statusView release];

我创建了自定义后退按钮,并使用下面的代码来支持ViewController A:

AViewController *chooseview = [[AViewController alloc] initWithNibName:@AController" bundle:nil];
}
UINavigationController *navC = [[UINavigationController alloc] initWithRootViewController:chooseview];
[self.navigationController presentViewController:navC animated:NO completion:nil];
[chooseview release];

现在,我想在单击Back按钮后在ViewController B和C中释放许多数组。我怎样才能做到这一点?我尝试使用[array release];,但在我返回viewcontroller B后,我的应用程序崩溃了。谢谢你的建议。

2 个答案:

答案 0 :(得分:1)

我认为你必须在这个方法中释放你的数组

-(void)viewWillDisappear:(BOOL)animated
{
  // Write Code here to release  
 } 

答案 1 :(得分:0)

你可以试试这样的东西

if ([array count] > 0) {
    [array release];
}

array = [[NSMutableArray alloc] init];

在根视图控制器的viewWillAppear中。