我计划让我的应用程序UIViewController在 App Delegate 中有一个根,基本上可以分为两个UIViewControllers,每个都UIViewControllers将有一些UINavigationControllers推到它们上,可能有一个UITabBarController,不太确定,但主要问题是我想从任何视图从一个UIViewController堆栈转移到另一个,并维护视图层次结构。
当我想从一个UIViewController堆栈更改到另一个堆栈时,我考虑过调用 App 委托:
MainClass *appDelegate = (MainClass *)[[UIApplication sharedApplication] delegate];
[appDelegate.viewController someMethod];
并以这种方式过渡,但这似乎有点笨拙。还考虑过通过堆栈将引用传递给根UIViewController并调用方法在UIViewControllers.
哪种方式会更好?还是有一种我没有想到的方法是首选的方法?