2011-12-01 49 views
0

我有一个导航控制器在故事板上有两个视图。iOS:调用popViewControllerAnimated后的回调函数?

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

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

的赛格瑞风格是推。

第二种观点有两个顶栏按钮,返回按钮,导航回正常,并自定义右栏按钮,该做些什么的背景和之后的导航回此代码:

[self.navigationController popViewControllerAnimated:YES]; 

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

我该怎么做?

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

谢谢!

RESOLVED。

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

所以我委托属性设置为发送者(最前一页)控制器和第二控制器中,我可以叫[委托anyFunction]

它的作品,也许这是一个很好的解决方案... ...:-S

回答

2

代表团应该解决你的问题。使第一个视图控制器成为第二个视图控制器的代表,并在关闭视图控制器时向其发送消息。

+0

没关系,我尝试了,但没有成功。我使用这个:http://www.ios-developer.net/iphone-ipad-programmer/development/delegates/how-to-create-a-delegate 在我的项目中,MainClass是第一个视图,Subclass是第二个。但可能我无法完美地观察这个例子...... :) – mudlee

+0

因此,使用导航控制器从第一个viewcontroller导航到第二个,然后我从第二个导航回到第一个导航控制器,但是,当我调用导航在第二个视图控制器中,我有一个关于“我应该在导航返回完成后需要在第一个视图中调用函数吗?”的IF语句,并且即使该语句为真,我也想调用第一个控制器中的函数。但声明在第二个视图控制器中。 对不起,我的英语不好,我希望这是可以理解的。 – mudlee