ios - MVC:自定义 UITableViewCell 是视图还是控制器,还是两者兼而有之?
问题描述
我曾经将 aCustomUITableViewCell.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 所支持的职责分离。
推荐阅读
- swift - 是否可以以编程方式将项目添加到全局上下文菜单?
- c# - 如何使用 .NET Core MVC 框架将 TwiML 实现为一种方法?
- c# - FluentValidation 使用手动验证的隐式子验证
- r - R - 无法为 R 版本 3.6.2 安装“SDMTools”
- android - Android AR CORE 在静态图像而不是相机源上
- c# - android.content.res.Resources$NotFoundException:资源 ID #0x7f0b004a 类型 #0x1d
- php - 使用动态模型 Laravel 的雄辩查询
- excel - 具有 Range.Autofilter 的数组不起作用
- r - lapply to left_join 数据集列表
- c++ - 如何使用vscode c++调试器通过gdb将参数传递给程序?