2014-11-05 49 views
-2

我試圖找到解決方案如何從我的項目中的隨機類訪問UIViewcontroller從隨機類訪問UIViewController

我在我的課前做:

MBViewController vc = (MBViewController *)[[[[UIApplication sharedApplication] delegate] window] rootViewController]; 

它運作良好。

現在我改變了rootViewController「我使用的MainVC類的AMSlidMenurootview」所以這個路徑不可用了。

有人可以幫助我。

+1

沒有足夠的信息。你是如何創建這個視圖控制器?一般而言,您應該在創建時保存一個指向它的指針。單身人士是一個體面的地方,可以節省應用程序全局數據 - 比應用程序委託更好。 – 2014-11-05 20:04:40

+0

你不應該這樣做。更好的辦法是將viewController傳遞給需要訪問它的對象。 – 2014-11-05 20:06:48

+0

是@DanielT。但如果每次使用我的MBViewController,我都會丟失顯示在其上的舊數據。 我想最好的辦法是在我的MBViewController中做單身人士不行? – fourthnovember 2014-11-05 20:14:51

回答

0

您可以創建該ViewController作爲您的AppDelegate中的一個屬性。那麼你將能夠從任何地方使用它(因此它不是最具編程正確的形式)

MBViewController vc = (MBViewController *)[[[UIApplication sharedApplication] delegate] _viewController]; 
+0

謝謝我試過 MBViewController * vc =(MBViewController *)[[[[UIApplication sharedApplication] delegate] window] _viewController]; – fourthnovember 2014-11-05 20:16:22

+0

但他不爲我找到_viewController和我創建屬性在我的AppDelegate – fourthnovember 2014-11-05 20:17:05

+0

答案編輯,其不是窗口,但只是委託。現在試試 – 2014-11-05 20:22:26