我有一个导航控制器,在故事板上有两个视图。
在第一个视图中,我使用它来导航到下一个(第二个)视图:
[self performSegueWithIdentifier:@"SecondViewController" sender:sender];
推动风格。
第二个视图有两个顶部栏按钮,一个正常导航回来的后退按钮,以及一个自定义右侧栏按钮,它在后台执行某些操作,然后使用此代码导航回来:
[self.navigationController popViewControllerAnimated:YES];
有时候,当我调用这段代码时,我想在第一个视图中调用一个函数(比如一个回调函数),它会在第一个视图中刷新一些东西。
我该怎么做?
我尝试在第一个视图中使用viewWillAppear,但我不想每次刷新一些东西,只是有时候。
谢谢!
解决。
我找到了解决问题的方法: 当我使用prepareForSegue函数时,我可以设置[segue destinationViewController]对象的任何属性。
所以我将一个委托属性设置为sender(fisrt)控制器,在第二个控制器中,我可以调用[delegate anyFunction]
这是有效的,也许这是一个很好的解决方案......: - S
答案 0 :(得分:2)
代表团应该解决您的问题。使第一个视图控制器成为第二个视图控制器的代理,并在关闭视图控制器时向其发送消息。