看完斯坦福 iTunesU CS193p 在线类(class)后,我有一个关于实现 MVC 设计的正确方法的快速问题。
通常当我做一个应用程序时,我将我的 View 设置为 Controller 的一部分,并向其中添加 UIButtons、UILabels 等。本质上, Controller 和 View 成为一体,除非您将 UIObject 算作 View 对象
在早期的 CS193p 示例之一中,导师将 View 从 Controller 分离为一个单独的对象(UIView 的子类),然后在 View 上实现协议(protocol)和委托(delegate)属性, Controller 对象随后将遵循该 View 。
我只是对 CS193p 设计的实用性感到好奇,我可以理解 Split View更好地代表了 MVC 设计范式(尤其是作为教学辅助工具),但对其在实际应用中的应用持怀疑态度。
最佳答案
将“ View ”视为 UIButton 和 UIImageView 等对象;不一定对应用程序的其余部分一无所知的可重用组件。您的 View Controller 是负责配置 View 对象和管理其状态的对象。
有时您会想要子类化 UIView,主要是当您需要在 drawRect:
中进行自定义绘图时。不过,您不会将 UIView 子类化来自定义行为,这就是您的 View Controller 的用途。例如,您不会将 UITableView 子类化,而只是让 TableView 成为它自己的委托(delegate)。相反,你会让你的 View Controller 成为 TableView 的委托(delegate)。
关于iphone - 使用 MVC 时是否需要创建单独的 View 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8392129/