高效方式我有如下的数据模型:显示数据的多个阵列成单个的tableview部
class Model {
var field1 = Data()
var field2 = Data()
var field3 = [Data]()
var field4 = [Data]()
}
var model = Model() // Provide data here
该模型将被获取并从API解析,我使用另一个类的数据作为一个子模型形成模型。我需要显示Model对象为顺序单表视图部分:
字段1 - >场2 - > [字段3] - > [字段4]
什么,我计划做是如下:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return model.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "StatusCell") as! StatusCell
switch indexPath.row {
case 0:
// Do something with field1
case 1:
// Do something with field2
case 2...(2 + field3.count):
// Do something with field3
case (2 + field3.count)...(2 + field3.count + field4.count)
// Do something with field4
return cell
}
至于我的观点,这是一个很大低效的,因为每次调用cellForRowAt时,它都必须一次又一次地计算数组大小,但我必须检查数组以便按照上面预定义的顺序显示它们。但是,这是我目前唯一的方式。
我想改善代码以获得更好的效率,可能是数据应该存储在模型中(而不是数组或类似的东西)或如何将数据正确填充到表视图中。请帮忙指出我应该在哪里改进代码以及如何改进代码。
感谢
什么是“数据”类(数据类型) –