MVC:自定义UITableViewCell是视图还是控制器,或者两者兼而有之



我曾经将CustomUITableViewCell.xib视为视图,将相应的CustomUITableViewCell.swift类视为表视图单元格的控制器。

这是正确的吗?我偶然发现的一段youtube视频将课堂视为视图:https://youtu.be/n06RE9A_8Ks?t=177

编辑:澄清问题:以下哪一项是视图和控制器?两者都被认为是观点吗?

  • CustomUITableViewCell.xib
  • CustomUITableViewCell.swift

我绝对认为它是一个"视图"(就MVC而言(。它是一组逻辑(与.xib一起(处理1个特定的信息视图,而不是协调应用程序的一般逻辑的某些方面。

出于同样的原因,我也认为UIViewController属于MVC的"视图"部分。当然,如果您在视图控制器中投入的业务逻辑远远多于支持单个视图所需的业务逻辑,那么您的视图控制器就是MVC的混合。例如,如果你的视图控制器选择了应用程序的下一个场景,那么你的视图控件就会参与控制器逻辑,而它并没有真正遵循MVC。不过,您的视图控制器被迫做许多与单个视图相关的工作,因为它负责一个视图,而且视图工作更实际地在UIViewController中完成,而不是在UIView中完成。

因此,当你问一个单元视图类在MVC中的立场时,如果它是在做单视图工作,那么它就是一个"视图"。如果您混合了控制器工作或模型工作,那么您就混淆了MVC所支持的职责分离。

在我个人看来,这是一个视图。它应该只处理类中的UI组件。将这两个文件视为一个完整的视图。一个不能没有另一个。因此,我认为它们是一体的。

相关内容

最新更新