【问题标题】:Adding and Removing Views - Best Practice添加和删​​除视图 - 最佳实践
【发布时间】:2011-04-12 14:55:24
【问题描述】:

我现在已经开发了一些应用程序,它们都使用单视图控制器。在应用程序委托中的每个应用程序中,我分配/初始化“didFinishLaunchingWithOptions”和 [window addSubview: view_controller.view] 中的第一个视图控制器。

现在我的问题是删除和添加辅助视图的最佳做法是什么。

目前我正在执行以下操作:

• 在屏幕上的当前视图控制器中,我引用了应用程序委托并调用了一个名为“showSecondViewController”的方法,并传递了“self”

• 然后在“showSecondViewController”方法的Application Delegate 中,我删除从superview 传入的“self”和[window addSubview: new_view];新的视图控制器。

然后我会说几个删除/显示方法来显示/隐藏所需的每个视图控制器。

这是最佳做法吗?我只是在与另一位 iPhone 开发人员谈论使用导航控制器(隐藏顶部栏)和“动画:否”推送和弹出视图控制器而不是使用这种方法?哪个最好?

我开始考虑这个首字母的原因也是在观看了斯坦福大学的讲座并看到这张幻灯片后:http://screencast.com/t/N2RkZWIzMzkt 这让我觉得我所做的事情是不正确的。

请指教。

谢谢 詹姆斯

【问题讨论】:

    标签: iphone objective-c uiviewcontroller uinavigationcontroller


    【解决方案1】:

    在我看来,您正在尝试手动完成 UINavigationController 可以为您做的事情,所以我会这样做。

    这张幻灯片告诉您的是,不要像 big ball of mud 那样将所有内容都放入您的应用委托中。这意味着,创建一个对象来保存和管理您的所有视图,并且不依赖于其他任何东西。如果它需要访问其他对象以使用 setter 或 -init 方法传递它们,但不要让它去应用程序委托(或其他一些中心点)并请求它。这就是dependency injection

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      • 2015-01-17
      相关资源
      最近更新 更多