繁体   English   中英

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

[英]ios swift: What is the apporach way to reload a tableView?

我使用带有静态单元格的tableView进行测验游戏。

因此,我将所有问题排在一个数组中,并希望进行遍历。

当用户回答了一个问题后,我想在同一tableView向他显示下一个问题。 因此,我需要将数据从tableView传递到“自身”,以更新问题计数器和其他一些东西,等等。

用户具有“下一步”按钮以转到下一个问题。

你们建议我做什么?

self.tableView.reloadData()不能解决,因为我必须传输数据吗? 必须是segue,还是?

我试图让按钮“ next”作为IBAction对其本身执行监视,但是随后发生的监视没有执行IBAction中的代码。

感谢您的任何想法!

编辑:

这些变量需要更新:

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

如果我正在使用self.tableView.reloadData()在什么时候我必须更新这些变量,以便在重新加载后对其进行更新?

抱歉...我只是有点迷路了...

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

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

如果您想拥有问题的历史记录,请给我们一个问题数组,并在当前问题的数组中使用索引。 使单元格使用问题索引来填充单元格视图。 然后,您可以通过更改每次重新加载问题的索引来前进和后退。

我必须回答自己的问题-因为我的想法完全错了...有时候睡个好觉是有道理的...

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

我认为将代码粘贴到此处有点太多,但是总而言之,这是我的时间表:

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

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

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

  4. 重新调用Nr.2以显示下一个问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM