使用扩展名或didEndDisplayingCell为deleteRowAtIndexPaths添加完成

时间:2015-05-01 04:55:01

标签: ios uitableview swift

我想在deleteRowsAtIndexPaths完成动画后做点什么。

我可以通过将其包装在animateWithDuration中来实现这一点,但它并不是正确的做法。

另一种方法是使用didEndDisplayingCell,但我无法更新此处的部分,否则它将进入无限循环。

我想做的是:

  • 通过滑动删除单元格
  • 从我的数据模型中删除它
  • 删除deleteRowsAtIndexPaths

删除行并动画结束后:

  • 致电reloadSections
  • 重新加载部分

我使用的代码:

func deleteObject(ojbectName: String) {
    let indexPath = // create indexPath

    // Delete the item in data model and table
    myData.removeAtIndex(index)
    tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Left)

    // Reload section after row animation has ended        
    let indexSet = NSIndexSet(indexesInRange: NSMakeRange(myData[indexPath.section].startIndex, myData[indexPath.section].endIndex))
    tableView.reloadSections(indexSet, withRowAnimation: .None)
}

我尝试为UITableView创建一个并不顺利的扩展程序。是否有人可以告诉我如何创建一个或如何使用didEndDisplayingCell所以我可以在动画结束后重新加载该部分?

1 个答案:

答案 0 :(得分:0)

尝试在子类didTransitionToState中实施UITableViewCell。查看the Apple docs on this.

`