0

所以在我的应用程序的中心视图控制器上,我有一个地图视图。我单击一个按钮,它切换了我的左视图控制器并显示了我的左视图控制器。当我打开左视图控制器时,我单击一个按钮,它会关闭左视图控制器并调用中心视图控制器内部的方法。它确实调用了该方法,但我认为它在中心视图控制器的另一个实例上,因为它确实显示了 NSLog,但它实际上并没有更新中心视图控制器上的信息。

所以基本上,我的问题是我“认为”它创建了中央控制器的多个实例。我如何访问第一个实例来更新它的数据?

编辑:好的,这里有一些代码。

FirstViewController *controller = (FirstViewController*)[self presentedViewController];
[controller doSnap];

我已经尝试了几种变体。在“doSnap”方法中,我有一个 NSLog,我让它在 mapView 上做一些事情。这些东西最终被记录下来,但它实际上并没有显示在地图上,我认为这是因为它是视图控制器的不同实例。

4

1 回答 1

2

使用模态序列时,您可以只使用该presentingViewController属性来访问您来自的 viewController。

YourOriginalViewController *controller = (YourOriginalViewController*)[self presentingViewController];
controller.yourPropertyToSet = whateverValue;
于 2013-07-05T20:29:22.457 回答