2014-11-05 98 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