我试图在尝试转换为Swift 3时修复我的结局错误,但是我不确定为什么我会收到错误
无法转换类型'() - >的值虚空'预期参数类型'(() - > ?空隙)'
对于
CATransaction.setCompletionBlock(completion)
完整功能
fileprivate func deleteRowsAtIndexPaths(_ indexPaths: [IndexPath], withRowAnimation animation: UITableViewRowAnimation, duration: TimeInterval, completion:() -> Void) {
CATransaction.begin()
CATransaction.setCompletionBlock(completion) //Error
UIView.animate(withDuration: duration) { () -> Void in
self.deleteRows(at: indexPaths, with: animation)
}
CATransaction.commit()
}
有人知道我为什么会这样做以及如何解决错误?
答案 0 :(得分:6)
如果您在将代码迁移到Swift 3时发现奇怪的内容,请检查the latest reference。
声明
class func setCompletionBlock(_ block: (@escaping () -> Void)?)
尝试将方法标题completion:() -> Void
的这一部分更改为:
completion: @escaping () -> Void