gpt4 book ai didi

iphone - 在基于导航的应用程序中拥有 UINavigationController 的最佳实践?

转载 作者:行者123 更新时间:2023-12-03 20:21:34 25 4
gpt4 key购买 nike

我的小应用程序变得越来越庞大,我正在寻找一些有关 View Controller 和导航 Controller 的管理/所有权的最佳实践建议。

这就是我现在正在做的事情:

  1. AppController 是一个创建并拥有 UINavigationController 实例的单例。应用 Controller 以及导航 Controller 可以通过类似 +sharedController 的方法进行全局访问。
  2. 应用程序中希望推送新 View Controller 的每个 View Controller 基本上都会执行以下操作:

    NextViewController * nextViewController = [[NextViewController alloc] init];
    [[[AppController共享 Controller ]导航]pushViewController:nextViewController ...];
    [nextViewController发布];

通过这种方式,所有“叶” View 都负责创建下一个 View 并将其推送,并且导航 Controller 位于每个人都可以到达的一个位置。

但这是我自己做的。由于通过 View Controller 进行导航是架构的一个关键部分,我想知道是否有人有更好或更周到的方法。

谢谢。

最佳答案

每个 View Controller 都有一个 navigationController 属性。如果 UIViewController 是导航堆栈的一部分,则设置此属性以便您可以获取对 UINavigationController 的引用。因此,您不必引用 AppController(或者甚至可能根本没有一个 - 您可以将其放入 AppDelegate 中),您可以执行如下操作:

NextViewController * nextViewController = [[NextViewController alloc] init];
[self.navigationController pushViewController:nextViewController ...];
[nextViewController release];

关于iphone - 在基于导航的应用程序中拥有 UINavigationController 的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2353683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com