Swift 3:无法调用非函数类型的值(() - > Void)?'
问题描述:
此功能的所有诅咒,也被称为斯威夫特3.迁移到斯威夫特3,Xcode中,我的友善和可爱的IDE后的诅咒工作过,显示这个令人沮丧的错误逆势而行SCNTransaction.completionBlock
:Swift 3:无法调用非函数类型的值(() - > Void)?'
不能调用值非函数类型'(() - > 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()
}
答
SCNTransaction.completionBlock是一个class属性。也许你是这个意思?
// ↓
SCNTransaction.completionBlock = {
block.removeFromParentNode()
}
是的,谢谢!令人沮丧的变化在斯威夫特3多少。 – Crashalot