2013-07-05 21 views
0

所以在我的應用程序的中心viewcontroller我有一個mapview。我點擊一個按鈕,它會切換我的左視圖控制器並顯示我的左視圖控制器。在打開左側視圖控制器的同時,我單擊一個按鈕並關閉左側視圖控制器並調用中央視圖控制器內的方法。它實際上調用方法,但我認爲它在中央視圖控制器的另一個實例上,因爲它顯示NSLog,但它實際上不更新中央視圖控制器上的信息。ViewDeck問題與視圖控制器的實例

所以基本上,我的問題是我'認爲'它創建中心控制器的多個實例。我如何訪問FIRST實例來更新其上的數據?

編輯:好的,所以繼承人一些代碼。

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

我試過這個的幾個變化。在'doSnap'方法裏面我有一個NSLog,並且我在mapView上做了一些事情。這些東西最終會被記錄下來,但它並沒有真正顯示在地圖上,我認爲這是因爲它是視圖控制器的不同實例。

回答

2

使用模態段時,您可以使用presentingViewController屬性來訪問您來自的viewController。

YourOriginalViewController *controller = (YourOriginalViewController*)[self presentingViewController]; 
controller.yourPropertyToSet = whateverValue; 
+0

這沒有奏效。我仍然認爲我的第一個視圖控制器有多個實例。 –