在所有祸害之咒,也称为Swift 3出现之前,此函数是有效的。在迁移到Swift 3之后,我的友好而可爱的IDE Xcode针对该行代码SCNTransaction.completionBlock显示了以下令人沮丧的错误:
Cannot call value of non-function type '(() -> Void)?'
有多篇帖子处理类似的错误,但这些解决方案都不适用。
该行代码有什么问题吗?
func test(_ block: SCNNode, animated: Bool) {
// Do stuff
SCNTransaction.begin()
SCNTransaction.animationDuration = animated ? AnimationDur : 0.0
SCNTransaction.completionBlock {
block.removeFromParentNode()
}
// Animate stuff
SCNTransaction.commit()
}