【问题标题】:How to design a ViewController with complex TableView如何设计具有复杂 TableView 的 ViewController
【发布时间】:2016-08-25 15:01:14
【问题描述】:
想象一下这个场景:
- 我有 10 个不同的自定义 UITableViewCell:一个带有文本字段,
一个带按钮,一个带一些标签,一个带文本视图,一个
使用 imageView 等等。
- 我有一个带有 tableView 的 ViewController,我想在其中显示这些单元格。
- 显示的单元格数量可能因某些条件(以及高度、背景颜色和其他参数)而异
- 用户可以与这些单元格交互
在 MVC 方面进行设计并尽可能保持 ViewController 的轻量级和可维护性的最佳方法是什么?
如何利用 Swift 语言来做这件事?
是否有任何著名的整合设计模式可供应用?
【问题讨论】:
标签:
ios
swift
uitableview
design-patterns
model-view-controller
【解决方案1】:
我将尝试分享我的一些经验:
根据要求创建单独的自定义UITableViewCelll,例如:textfield、textview、imageview、label 等。此类不得依赖于数据计算,仅适用于化妆品 UI。这意味着不能有像 updateCellWithData:(someDATAObj) 这样的方法。 此逻辑必须归入某些类别,如下所述。
向您的 tableview 注册单独的自定义 UITableViewCelll。
为您的 UITableView 创建单独的类 (NSObject) 作为 datasource 和 delegate。
使用类别在您的自定义 UITableView 单元格中填充数据。类似于 updateCellWithData:(someDATAObj)。
使用 constant 文件作为常量,例如 tableView 单元格的高度、重用标识符名称、通知名称。
至少尝试一些代码,然后我们可以为您提供最好的帮助。