一次调用多个deleteRowsAtIndexPaths

时间:2017-04-25 15:31:20

标签: ios swift uitableview animation cells

我上传了所有将项目上传到AWS S3的任务。项目上传后,它会向视图控制器发出一个NSNotification,以便为单元格设置动画(左边有一个嗖嗖声),然后从表格视图中删除该单元格:

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

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

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

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

1 个答案:

答案 0 :(得分:0)

不是完全删除单元格,而是设置行高度更改的动画,以防止由于动画延迟而导致数据源与表格视图中的行数之间发生冲突。虽然不是一个完整的解决方案 - 它适用于我目前的情况。