【发布时间】:2017-04-29 07:00:06
【问题描述】:
我正在使用下面的代码删除我的表格视图中的一行。首先,我从数组中删除对象,然后使用以下代码从 tableview 中删除:
let i = IndexPath(item: rowNum, section: 0)
myArray.remove(at: rowNum)
myTableView.deleteRows(at: [i], with: UITableViewRowAnimation.left)
但是,如果我随后删除另一行,则不会删除我要删除的行。问题是,即使我删除了 tableview 中的第一项(例如索引 0),单击新的第一行返回索引 1 ......这是错误的,并删除了第二行。删除第一行后,顶部的新行的索引应为 0。
我可以通过这样做来解决这个问题:
mTableView.reloadData()
但这似乎是错误的......我不应该再次重新加载所有数据。
我还能做什么?
编辑:我的 tableviewcell 中有一个自定义按钮,我按下它来删除行 - 不是刷卡。
【问题讨论】:
-
删除你的数组中的项目后......你重新加载表......?如果不重新加载表格...它将解决您的问题
-
Tableview 总是返回正确的索引,你能告诉你删除索引方法,即你从哪里得到你的“rowNum”
-
查看链接:使用nsnotification中心stackoverflow.com/questions/36279894/…
-
您的代码究竟是如何与按钮操作相关联的?您在哪里以及如何定义按钮目标?
-
如果您使用自定义按钮删除单元格,您从哪里获得
rowNum?
标签: ios swift uitableview