我有一个基于UITableView的游戏商店。在不影响动画的情况下重新载入表格视图中的数据
每个单元都有一个“购买”按钮其中大部分是启用,并且可以切换到“买”如果该项目是一次性购买,也可以禁用,如果没有足够的钱。
现在我要做的就是打电话reloadData
每次购买按钮被按下,以更新可见单元格和当前细胞本身。 (我必须更新所有单元格,因为购买后可能不会有足够的钱用于可见项目单元格)。
但它导致奇怪的动画故障,就像当我点击一个单元的购买按钮和动画完成另一个。
我认为这是由于细胞的可重用性。所以我想知道的是如何在整个表格视图中重新加载数据而不影响本机动画。
我能想到的唯一的事情是不使用可重复使用的细胞和缓存他们,但我不认为这是一个良好的编程习惯。
嗯,我认为这是一个不好的设计,当细胞知道它的模式... – s1ddok
而且我没有看到它如何帮助我更新的其他细胞,以查看是否有他们 – s1ddok
小区金钱知道如何显示特定模型类是优秀的设计,并一直回到SmallTalk。只要它只是观察模型并不断提供它的视觉表示。单元格只是一个视图。如果他们需要知道总金额,可以给他们一个“账户”对象。 –