【发布时间】:2015-11-07 11:27:43
【问题描述】:
我试图保持 Apple MVC 设计模式,其中视图接收输入并将其传递给控制器。为了使控制器保持纤薄并避免它变成臃肿的GodClass 来完成所有工作,我正在尝试创建UIView 的子类并在那里接收用户输入以传递给控制器进行处理。但我遇到了如何在 Swift 中最好地做到这一点的问题。
为了将用户输入从视图传递到控制器,我的UIView 子类需要与关联的ViewController 通信,但我已经看到关于不推荐这样做的帖子。例如,This Q&A 建议这很糟糕,但建议使用委托方法。来自同一问答的评论也指出这很糟糕。
Apple 自己的 MVC 示例没有演示单独的 UIView 子类,而是使用了现有的 UITableView,它全部编码在父 UIViewController 中,使其成为臃肿的控制器,而不是瘦控制器。
如何最好地解决这个问题?
【问题讨论】:
标签: swift model-view-controller uiview uiviewcontroller delegates