Obj-C:从导航控制器中的detailViewController传回参数

时间:2010-06-12 00:41:13

标签: iphone objective-c uinavigationcontroller

您好我在iPhone应用程序上使用导航控制器。当我将控制器推入导航堆栈时,我可以向前传递数据但是当我弹出控制器时如何传回数据。

我基本上想要实现的是根导航控制器视图显示了许多可以编辑的字段。然后,用户单击要编辑的其中一个字段,并使用用户想要编辑的字段的名称将EditViewController压入堆栈。现在用户输入字段的新值并按下save以弹出视图控制器。那么如何将editViewController中的值返回到根导航控制器视图?

1 个答案:

答案 0 :(得分:0)

有几种方法:

  • 推送EditViewController时,将指针传递给要修改的值,而不是值本身。这样,控制器可以在弹出之前通过指针修改值。
  • 实现委派,您的根视图控制器实现EditViewControllerDelegate协议。如果它然后将自身作为参数传递给EditViewController,则EditViewController可以调用适当的委托方法来通知根视图控制器任何更改。

第一个是最简单的,第二个是更灵活的。