Ios 具有多种类型UITableviewCells的UITableView数据源组织(复杂)

Ios 具有多种类型UITableviewCells的UITableView数据源组织(复杂),ios,uitableview,datasource,Ios,Uitableview,Datasource,我希望改进我的工作方式,因为我似乎正在使用一种可能是“同类最佳”的模式,或者有一种更好的方式。寻求建议 上下文:我需要显示多种类型的行:标题、总计、客户、项目等,但计数和顺序会发生变化 计算哪一行变得复杂 因此,我创建了一个dataObject,它表示可能的单元格内容,使用枚举类型,指示这个特定dataObject表示的单元格内容 (伪代码) 然后生成一个数组,其中包含相关序列中的许多数据对象: - dataObject {cellType = header} - dataObject

我希望改进我的工作方式,因为我似乎正在使用一种可能是“同类最佳”的模式,或者有一种更好的方式。寻求建议

上下文:我需要显示多种类型的行:标题、总计、客户、项目等,但计数和顺序会发生变化

计算哪一行变得复杂

因此,我创建了一个dataObject,它表示可能的单元格内容,使用枚举类型,指示这个特定dataObject表示的单元格内容

(伪代码)

然后生成一个数组,其中包含相关序列中的许多数据对象:

  - dataObject {cellType = header}
   - dataObject {celltype = customer}
   - dataOb.....
这样的行数等于对象计数

我通过检索特定索引处的dataObject生成UITableviewCell,检查它是什么类型,然后返回该类型的CustomCell

我甚至将dataObject用作多功能容器,以包含需要在单元格中显示的信息。由于所有单元格都有一个公共父单元格,因此它们知道如何读取数据对象,并显示其特定CustomCell类型的信息

我希望这是清楚的


有谁知道更好的解决方案吗?

我认为这种方法非常清楚。我不想在模型上使用你的cellType,原因有两个:模型必须对视图完全透明,所以它不应该关心它将显示在哪里(可能属性的不同名称就足够了),另一个不需要它的原因是,你可以直接要求模型的类类型,这就足够区分它们了(因为我知道您正在为每种数据对象子类化一个公共类,对吧?)?我做了一个非常类似的事情,它工作得很好。CellType就是那个——它的值告诉你如何绘制单元格,或者它是什么类型的单元格。从数据模型到单元类型,Yoy可能有1对1的关系,或者您可能有几个单元类型,因为有些用于多个模型类型。在我的例子中,我有多个部分,所以每个数据对象都有关于要显示的单元格数量等信息。
  - dataObject {cellType = header}
   - dataObject {celltype = customer}
   - dataOb.....