一次调用多个 deleteRowsAtIndexPaths

Multiple deleteRowsAtIndexPaths called at once

我有一个上传所有任务,其中项目上传到 AWS S3。项目上传后,它会向 viewcontroller 触发 NSNotification 以使单元格具有动画效果(向左旋转效果),然后从 table 视图中删除单元格:

NSNotificationCenter.defaultCenter().postNotificationName("itemUploaded", object: nil, userInfo: ["item": item])

table 视图数据源由这些对象及其状态的列表管理。在通知观察器中,在 swish 动画 (showExpandingButton) 之后,我获取了该项目所属的单元格并将状态设置为 .Uploaded 并将其从 tableView 数据源中删除。

cell.showExpandingButton({ (completed) in
    self.removeCells(item)
})

RemoveCells() 然后从 table 视图中删除单元格。但是,我面临的问题是几乎可以同时触发通知,这意味着 table 视图数据源可以比删除单元格的函数更新得更快。有什么想法吗?

我没有完全删除单元格,而是对行高变化进行动画处理,以防止由于动画延迟导致数据源和 table 视图中的行数发生冲突。虽然不是一个完整的解决方案 - 它适用于我当前的情况。