弹出并刷新视图控制器

3

我有三个视图控制器。当我到达第三个视图控制器时,我使用poptorootviewcontroller函数弹出到我的第一个视图控制器,但是当我在第三个视图控制器中使用popviewcontroller函数(我想返回到我的第二个视图控制器)时,虽然它已经弹出了,但我编辑的所有信息仍会保留,而我希望第二个视图控制器是全新的(重设该视图控制器),就像重新加载这个视图控制器。 以下是我的第三个视图控制器中的代码:

-(IBAction)playAgain:(id)sender
{
   [self.navigationController popViewControllerAnimated:YES];
}

我该怎么做呢?谢谢!


你可以在第二个视图控制器中完成这个操作。当它推出第三个视图控制器时,重置所有数据。然后,如果用户弹回到它,它将看起来像一个新的视图控制器。 - Jason Coco
不,它没有起作用,可能是因为当我在第二个视图中使用push view controller时,我还向我的第三个视图控制器“发送”了一些变量... - user1492776
1个回答

5
在第二个视图控制器中,您应该编写一个像下面这样的viewWillAppear方法。
-(void) viewWillAppear:(BOOL)animated
{
     [super viewWillAppear:animated];
     //set initial values here  
}

该方法将在您的控制器即将出现时调用。因此,在第三个视图控制器弹出时,将调用此方法,您可以重置值。


但是我该如何重置整个视图控制器? - user1492776
以与您最初设置它们相同的方式进行设置。 - Tony
@Apurv,我尝试了这段代码片段来在处理popViewController时重新加载视图控制器,但它没有重新加载视图控制器数据。你能否解释得更详细一些? - Raviteja Mathangi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接