ios swift:重新加载tableView的方法是什么?

时间:2015-03-12 15:14:11

标签: ios uitableview swift

我正在使用带有静态单元格的tableView进行一种问答游戏。

因此,我将所有问题都放在一个数组中,并希望循环使用。

当用户回答了一个问题时,我想在同一个tableView向他展示下一个问题。因此,我需要将数据从tableView传递给"本身"更新问题柜台和其他一些东西等。

用户有一个按钮" next"转到下一个问题。

你们建议我做什么?

self.tableView.reloadData()无法解决问题,因为我必须传输数据?它必须是一个segue,或者?

我试着按下按钮" next"作为IBAction执行一个segue到自己,但然后segue发生没有做我在IBAction中的代码。

感谢任何想法!!

编辑:

我需要更新这些变种:

var totalCardsInt: Int = 0
var currentCardInt: Int = 0
var currentDisplayedCardInt: Int = 1

如果我正在使用self.tableView.reloadData(),我必须更新这些变量以便在重新加载后更新它们?

对不起......我只是有点迷失知道......

3 个答案:

答案 0 :(得分:3)

您应该使用self.tableView.reloadData()重新加载表格,但在此之前您应该修改数据源(用于使用数据填充单元格的数组或字典),以便表格在重新加载时加载新数据。“ p>

答案 1 :(得分:0)

我不明白为什么你不能使用self.tableView.reloadData()?单元格应该反映控制器数据模型的内容。因此,如果要显示一组新的问题数据,请将单元格的数据设置为新集,然后重新加载。

如果您希望有一系列问题的历史记录,请在当前问题的数组中使用索引。使单元格使用问题索引来填充单元格视图。然后,您可以通过更改每次重新加载的问题的索引来前后移动。

答案 2 :(得分:0)

我必须回答我自己的问题 - 因为我的想法完全错了...... 有时睡在它上面是有意义的......

我可以使用tableView。我所要做的就是按正确的顺序获得“时间表”。无需重新加载tableView我只需要清除静态单元格并填写新数据。

我认为在这里粘贴代码有点太多了,但简而言之,这是我的时间表:

  1. 将所有问题(及其答案)加载到数组中

  2. 将数据填入视图,例如。显示问题和可能的答案

  3. 添加IBAction,证明答案并增加当前数组索引+1。检查当前==总计数,然后转到最终视图说“已完成”

  4. 重新拨打Nr.2以显示下一个问题