XCode 9,Beta 3. Swift 4。
let button = JumpingButton(x: 0, y: 50, w: 150, h: 300) // JumpingButton: UIButton
//Inside JumpingButton: // var clickAction: (() -> ())?
button.clickAction = { (sender) -> Void in //Error line
action()
Sound.playSound(Sounds.Button)
}
Run Code Online (Sandbox Code Playgroud)
收到错误:无法将类型'(_)-> Void'的值分配给类型'(()->())?
因为clickAction期望无参数的功能/关闭。只需将您的代码更改为:
button.clickAction = {
action()
Sound.playSound(Sounds.Button)
}
Run Code Online (Sandbox Code Playgroud)