将值传递给navigationviewcontroller堆栈中的上一个视图控制器

时间:2014-07-12 11:09:37

标签: ios objective-c uinavigationcontroller segue uistoryboardsegue

在UINavigationViewController中,如果我想将值从一个控制器传递到下一个控制器,只需调用- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender,但如果我想将值从一个viewController传递给前一个viewController

,我该怎么办?

3 个答案:

答案 0 :(得分:0)

我记得在同一个问题上遇到了一些项目。我找不到我的代码来回答这个问题,但我确实找到了一些教程。

http://prateekvjoshi.com/2014/02/16/ios-app-passing-data-between-view-controllers/

http://www.infragistics.com/community/blogs/torrey-betts/archive/2014/05/29/passing-data-between-view-controllers-ios-obj-c.aspx

答案 1 :(得分:0)

因此委托的概念来自segues。 基本上,Segues是从一个视图转换到另一个视图,但子视图在父视图上(在堆栈内),因此父视图仍然被加载。 因此,如果你将segues放在任何地方并在它们之间传递值,那么对象将继续创建并存储在堆栈中,从而循环继续。

所以代表们被介绍了。 Delegate是一种方法,通过该方法,子视图控制器(后者)使用inbuild委托方法或自创建的协议方法将信息发送到Previous视图控制器(第一个)。

这里发送信息的人(后面的视图)声明了一个委托对象和一个委托方法。 然后由接收类(第一个视图)实现。因此,即使从堆栈中弹出后一个视图,信息也会通过委托方法发送回根视图。

浏览文档,以更合适的方式给出 希望这有帮助

答案 2 :(得分:0)

将上一个视图控制器设置为当前视图控制器的委托,并传递所需的任何值。这是标准方法。