2012-07-08 58 views
2

我有三个viewcontroller。当我到达第三个视图控制器时,我使用poptorootviewcontroller弹出到我的第一个视图控制器,但是当我在我的第三个视图控制器(我想回到我的第二个视图控制器)使用popviewcontroller时,它弹出,但是我编辑的所有信息都是在我的第二个viewcontroller在那里,我想secondviewcontroller是新的(重置此viewcontroller),就像这个viewcontroller重新加载。 这里是我的代码在第三视图 - 控制:流行和刷新viewcontroller

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

我该怎么办呢? 谢谢!

+0

您可以在第二个视图控制器内完成此操作。当它推动第三个视图控制器时,让它重置所有的数据。然后,如果用户弹出来,它会看起来像一个新的。 – 2012-07-08 16:53:59

+0

不,它可能不工作,也许是因为当我在我的第二个视图中使用推视图控制器时,我也“发送”给我的第三个视图控制器一些变量... – user1492776 2012-07-08 17:02:40

回答

3

在第二个视图控制器,你应该写一个方法viewWillAppear中像下面,当你的控制器即将出现

-(void) viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    //set initial values here 
} 

此方法将调用。所以,当第三个viewcontroller会弹出,这个方法会被调用,你可以重置值。

+0

但我怎样才能重置整个viewcontroller? – user1492776 2012-07-08 17:32:47

+0

与第一次放置它们的方式相同。 – Tony 2012-07-08 18:15:03