0

我转了几天。我有 3 个 ViewController 的层次结构。

从 VC1 开始,从那里你可以加载 VC2。在 VC2 中,您可以加载 VC3。

我的导航工作正常 VC1->VC2->VC3 和向后相同。

VC3 允许用户返回到 VC1。

我想知道是否可以告诉 VC3 VC1 现在是它的代表。它适用于 VC2,但我想在 VC1 中使用保存在 VC3 中的数据。

4

3 回答 3

2

创建一个委托以将值从一个类传递给另一个类。然后在 VC1 和 VC2 中设置委托,其中 VC1 从 VC2 接收,VC2 从 VC3 接收

然后从 VC3 调用委托并将值传递给 VC2。在 VC2 中,被调用的方法实现其委托到 VC1 的调用,并且值在 vc1 中

VC3-->del-->VC2-->del->VC1
于 2013-04-03T16:39:29.213 回答
0

我建议例如在每个视图控制器中添加一个名为“master”的弱属性,并使其指向呈现它的视图控制器。完成此操作后,您可以通过以下方式从 VC3 访问 VC1(及其所有数据):

VC1ViewController *vc1 = self.master.master;
于 2013-04-03T16:24:38.940 回答
0

如果 VC1 是 VC2 的委托,您可以将 VC2 的委托属性分配给 VC3 的委托属性

在 VC3 被推入导航堆栈之前的 VC2 @implementation 中:

vc3Instance.delegate = self.delegate
于 2013-04-03T16:21:20.297 回答