模型视图控制器中表格视图的最佳实现

Posted

技术标签:

【中文标题】模型视图控制器中表格视图的最佳实现【英文标题】:The best implementation of a tableview in Model View Controller 【发布时间】:2017-03-31 18:01:15 【问题描述】:

是什么? 我正在以编程方式开发没有故事板的应用程序。

是否可以在 UIView 中实现 TableView?我试过了,但是如果我在视图中实现 TableView,当控制器接收到按钮操作时,我无法修改或访问视图的 tableView...

之后,我尝试在 ViewController 中实现 tableView,它运行良好,但我不知道这是否是一个好的实现,因为当我想用 Piker 实现 TextView/TextField 时发现了同样的问题,例如。

我的目标是拥有一个带有视图和控制器(按钮等)的干净的 viewController 代码,现在当我希望组件位于相应的视图中时,我发现自己拥有一个带有视图和多个组件的 uiviewController。

非常感谢!

【问题讨论】:

绝对有可能。您能否在您尝试在 UIView 中实现它的地方包含一些代码。也许那时我们可以提供具体的想法来帮助:) 【参考方案1】:

这一切皆有可能,您遇到的问题并不是因为它是您不应该做的事情,而是它本质上与以前略有不同。要直接回答您的问题,我将直接将 tableView 实现为模态视图控制器,作为 UITableViewController 或继承表视图委托和数据源的 UIViewController(如果您不希望表视图用完,则选择此方法模态视图控制器的整个空间)。

TableView 使用简单,但了解其工作原理的每一个细节将使您变得更强大,并且能够在任何这些场景中使用它们。我不会给你写一篇关于它们的使用指南,但在你声明任何“不能做”之前继续研究它们。

在这些不同的场景中,了解实现委托方法的类变得非常重要。在 UITableViewCell 的子类中而不是在它们所在的 UIViewController 中使用 textfields 委托的实现通常是最容易的。这允许更模块化的创建。

我发现使用故事板可以更快地学习曲线,也可以节省时间。如果您的计算机速度极慢,我将为您提供没有情节提要的工作的一个借口。

【讨论】:

以上是关于模型视图控制器中表格视图的最佳实现的主要内容,如果未能解决你的问题,请参考以下文章

模型/视图/控制器模型中验证的最佳位置?

在 Laravel 中,直接从视图向模型或控制器请求一些数据的最佳方式是啥?

MVC - 数据计算最佳实践 - 视图模型与控制器

以正确的方式实现模型-视图-控制器

iOS - 为帖子 + 评论数据模型设置视图控制器的最佳实践是啥?

如何在第二个 ViewController 表格视图中使用模型快速显示第一个 ViewController 值