我有两个表视图,按下按钮可以从中将数据从table1移动到table2。
当选择单元格时,会出现一个复选标记,按下该按钮会发生以下情况:
deleteRowsAtIndexPaths
我的问题是,当数据传输到table2时,数据仍然具有table2单元格的复选标记。我想重置它,但在每个地方我都试图迭代对象数组并将复选标记设置为false,当调用deleteRowsAtIndexPaths
时会发生以下错误:
Assertion failure in -[UITableView _endCellAnimationsWithContext:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3491.2.5/UITableView.m:1717
有谁知道为什么会这样?
答案 0 :(得分:1)
在通知视图任何更改之前更新数据源至关重要。视图方法假定您的数据源包含当前正确的数据。如果没有,表格视图可能会从您的数据源收到错误的项目集,或者询问不存在的项目并使您的应用程序崩溃。
尝试按此顺序执行:
还提供将项目插入表B的代码可能会有所帮助。
祝你好运。答案 1 :(得分:0)
我尝试迭代对象数组并将复选标记设置为false
这不是你做的方式。
在cellAtRowIndexPath中,您应该有条件来显示或隐藏复选标记。
删除单元格时,也要从数据源中删除并重新加载tableView。非常重要:
[self.tableView reloadData];