0

我有一个在故事板上有两个视图的导航控制器。

在第一个视图中,我使用它导航到下一个(第二个)视图:

[self performSegueWithIdentifier:@"SecondViewController" sender:sender];

segue 风格是 push。

第二个视图有两个顶栏按钮,一个正常向后导航的后退按钮和一个自定义右栏按钮,它在背景上执行某些操作,然后使用以下代码导航回来:

[self.navigationController popViewControllerAnimated:YES];

有时,当我调用此代码时,我想在第一个视图中调用一个函数(如回调函数),这会刷新第一个视图上的一些内容。

我怎样才能做到这一点?

我尝试在第一个视图中使用 viewWillAppear,但我不想每次都刷新东西,只是有时。

谢谢!

解决。

我找到了解决问题的方法:当我使用 prepareForSegue 函数时,我可以设置 [segue destinationViewController] 对象的任何属性。

所以我为发送者(第一个)控制器设置了一个委托属性,在第二个控制器中,我可以调用 [delegate anyFunction]

这是有效的,也许这是一个很好的解决方案...... :-S

4

1 回答 1

2

委托应该可以解决您的问题。使第一个视图控制器成为第二个视图控制器的委托,并在您关闭视图控制器时向其发送消息。

于 2011-12-01T12:27:13.400 回答