Iphone 在基于导航的应用程序中拥有UINavigationController的最佳做法?
我的小应用程序越来越庞大,我正在寻找一些关于视图控制器和导航控制器的管理/所有权的最佳实践建议 以下是我现在正在做的:Iphone 在基于导航的应用程序中拥有UINavigationController的最佳做法?,iphone,cocoa-touch,uiviewcontroller,uinavigationcontroller,Iphone,Cocoa Touch,Uiviewcontroller,Uinavigationcontroller,我的小应用程序越来越庞大,我正在寻找一些关于视图控制器和导航控制器的管理/所有权的最佳实践建议 以下是我现在正在做的: AppController是创建并拥有UINavigationController实例的单例。应用程序控制器和导航控制器可以通过类似于+sharedController的方法进行全局访问 应用程序中希望推送新视图控制器的每个视图控制器基本上都会执行以下操作: NextViewController*NextViewController=[[NextViewController a
+sharedController
的方法进行全局访问NextViewController*NextViewController=[[NextViewController alloc]init];
[[[AppController sharedController]导航]pushViewController:nextViewController…];
[nextViewController发布]代码>
谢谢。为什么不在需要推送的视图中使用
self.navigationController
?在AppController中唯一需要做的事情就是在导航控制器上推送初始视图。每个视图控制器都有一个navigationController
属性。如果UIViewController是导航堆栈的一部分,则会设置此属性,以便可以获取对UINavigationController的引用。因此,您不必引用AppController(或者甚至根本不需要引用AppController—您可以将其放入AppDelegate中),只需执行以下操作:
NextViewController * nextViewController = [[NextViewController alloc] init];
[self.navigationController pushViewController:nextViewController ...];
[nextViewController release];
嗯,这很有道理。我怎么会错过这个?谢谢