Int和String数组:仅更新Int值?

时间:2018-02-07 09:18:07

标签: arrays swift uitableview

我正在为(我的)孩子们做一个家务活。我正在使用带自定义单元格的tableView。现在,我有一个带有不同杂项的固定列表(数组),以及一个完成杂务的doneButton。我还有一个标签,用来计算做家务的次数 我还有第二个视图控制器,用于总结已完成的所有杂务,以及它们完成的次数。
因此,当按下“做菜”上的doneButton时,第二个View Controller应该显示:1做菜。
如果再次按下“do dishes”上的完成按钮,则第二个View Controller应显示:2菜肴 当doButton上的杂事“走狗”时,第二个View控制器应该显示:
2做菜 1步行狗。
我的问题是我无法在第二个View Controller中获取该列表。当按下doneButton时,它要么覆盖列表,要么像这样添加:1做菜。 2做菜1步行狗 我试图使用一个数组,并附加到这个,但我无法弄清楚如何只更新Int,而不是字符串。
这就是我所在的地方:

按下doneButton时:

summaryArray.append(String(choreList[indexPath.row].count) + " " + choreList[indexPath.row].chore)    

如何在不对数组执行任何其他操作的情况下更新数组中的count

1 个答案:

答案 0 :(得分:1)

你应该使用这样的结构:

struct Chores {
    let choreName : String
    let choreCounter : Int
}

然后你可以用你需要的所有项目填充数组:

var array = [Chores(choreName : "Walk Dog", choreCounter : 0),//etc. you can add more] 

使用此方法,您可以更改数组中的每个项目:

array[0].choreName = "Walk Dog faster!"
array[0].choreCounter += 1