UITableView由于在滚动表格视图的同时重新加载数据而崩溃

时间:2018-12-04 07:09:02

标签: ios swift uitableview

我正在使用UITableView显示记录列表。我的表格允许从顶部和底部刷新。从顶部刷新后,旧记录将保持可见,直到获取新数据为止。提取数据后,将删除数组中的所有记录,并填充新记录。然后,作为最后一步,我刷新表格视图以反映新获取的数据。

所有作品都像魅力。

但是...

在进行猴子测试时会导致崩溃。在顶部刷新期间,如果要提取数据,则在我不断滚动并拉动tableview的情况下,经过几次尝试,不幸的是,删除数组以添加新记录时,但是那时UITableView还在布置单元格由于不断拉。这会导致崩溃。

一个简单的解决方法是在进行顶部刷新时清空tableview,但是就ui美观而言,这看起来并不好。另外,如果通话失败,我也不会向用户显示任何内容。

我尝试通过将刷新代码封装在tableview的beginUpdateendUpdate块中来进行尝试,但是由于tableview本身没有变化(即,没有添加/删除),因此无法运行。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

因为您说滚动离开并崩溃了,可能是因为您尝试将数据插入到不再可见的索引中。在尝试更新表之前,您应该以某种方式检查您正在使用的索引。 一些代码可以帮助我更好地理解。