如何使用UITableView indexPath(带节)更新数据源数组(无节)?

时间:2018-09-07 15:31:39

标签: ios arrays swift uitableview tableview

我有一个原始的项目数组,可以从数据库中检索到

var items = [Item]()

其中包含:

  1. 水果,苹果,红色,1
  2. 水果,橙,橙,2
  3. 蔬菜,生菜,绿色,1
  4. 饮料,牛奶,白色,1

要在按部分分组的UITableView中显示此列表,我正在生成以下结构:

struct Section {
    var sectionName : String!
    var sectionItems : [Item]!
}

var sections : [Section]!

通过sections数组,我可以正确显示我的UITableView。如果需要更改某个项目的数量,可以轻松地在 sections 数组中更改该项目,并通过indexpath的section和row访问数据。

问题:

但是,我不知道如何更改原始数据(4个项目的列表),这是我需要用来保存在数据库中的数据。索引路径信息没有告诉我要执行更改需要访问 items 数组中的哪个索引的任何信息。

解决方案?

我正在考虑两个解决方案,但这两个似乎都不是太好了:

  1. 通过遍历“节”来重建原始列表。听起来很多不必要的迭代,考虑到我可以直接通过索引访问该项目。

  2. 为每个项目创建一个附加属性,以将其索引位置保留在原始数组中。不过,这个看起来很乱。

你们男孩和女孩怎么做?

非常感谢。

0 个答案:

没有答案