【问题标题】:Should a ViewController handle actions of view's subviews as well?ViewController 是否也应该处理视图子视图的操作?
【发布时间】:2012-05-15 16:05:14
【问题描述】:

在我的项目中,我倾向于在我的视图中添加一个 tableView、moviePlayer 和几个子视图。 子视图中按钮的所有IBActions,也成为其中tableView的数据源和委托。

因此,ViewController 已成为一个非常大的类。

我的子视图应该有不同的控制器吗?那么我如何在这些子控制器和我的视图控制器之间进行通信。

【问题讨论】:

    标签: ios model-view-controller


    【解决方案1】:

    好吧,如果您在一个屏幕上有不同类型的逻辑,您实际上应该将它们分配给具有自己的 nib 文件的不同 UIViewController。要与他们交流,您可以使用 NSNotifications:在 IBActions 上推送通知并在您的子视图控制器中捕获它们。

    【讨论】:

    • 不,只是使用一组 UIViewControllers。
    • 为什么要通知?不会设置委托吗?
    • 可以,但通知数量不多时会更容易:)
    【解决方案2】:

    不是真的。视图控制器是闪亮的 Cocoa 应用程序的核心,根据 Apple 的文档,它们是实现胶水代码的首选方式。在这种简单的情况下不需要更多的层。

    【讨论】:

    • 如果你的班级超过 1000 行可以吗?
    • 为什么不呢?大型项目有数百万行,但没有那么多类。
    • 维护该类将非常困难-您将无法找到需要快速修复的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    相关资源
    最近更新 更多