实际问题是我获取的数据来自 NSSet,当我更改集合时,由于它是无序的,最终条目并不总是相同的或我添加到集合中的最后一个对象。因此,当我调用 reloadData(并且有一个断点我可以告诉它只是更新/添加表中的最后一个单元格因为行数增加了 1)它经常发现错误的条目添加到新单元格并且我以重复项结束,我的新对象没有出现在表中。
这是 reloadData 的正确行为吗?如果是这样,我应该使用什么来确保所有数据都出现?我应该只删除所有行并重新开始,还是有办法只更新已经存在的行的属性?
编辑:我想我不清楚,在将数据提供给 tableView 之前,我将其转换为一个数组,但由于集合的性质,该数组的顺序永远不会相同。有人建议我订购阵列,但即使我这样做了,如果新项目不是订单中的最后一项,也不会出现。
最佳答案
您不应使用 NSSet
来提供 UITableView
。由于 NSSet
未按索引排序,因此 UITableView
将无法正常运行。尝试切换到具有对象索引的 NSArray
。
关于iOS UITableView reloadData 仅更新我添加的最后一个条目,如何重新加载所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27427163/