gpt4 book ai didi

ios - 调用 deleteRowsAtIndexPaths 时 UITableView 断言失败

转载 作者:行者123 更新时间:2023-11-28 07:01:29 26 4
gpt4 key购买 nike

我有两个 TableView ,我可以在按下按钮时将数据从 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

有人知道为什么会这样吗?

最佳答案

在通知 View 任何更改之前更新数据源至关重要。 View 方法假定您的数据源包含当前正确的数据。否则, TableView 可能会从您的数据源接收到错误的项目集,或者请求不存在的项目并导致您的应用程序崩溃。

尝试按以下顺序进行:

  • 将表 A 中的对象复制到新项目中(属性未选中)
  • 从表A的数组数据源中移除对象
  • 为表 A 调用 deleteRowsAtIndexPaths
  • 将步骤1复制的对象插入表B的数据源
  • 重新加载表B

还提供将项目插入表 B 的代码可能会有所帮助。

祝你好运。

关于ios - 调用 deleteRowsAtIndexPaths 时 UITableView 断言失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31903484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com