在Swift 5中以其自身初始值使用的变量

时间:2019-04-16 05:18:27

标签: ios swift

我尝试用Swift 5编写动画,下面是一些代码

let animations:(() -> Void) = {
    self.keyboardOPT.transform = CGAffineTransform(translationX: 0,y: -deltaY)
    if duration > 0 {
        let options = UIView.AnimationOptions(rawValue: UInt((userInfo[UIResponder.keyboardAnimationCurveUserInfoKey] as! NSNumber).intValue << 16))
        UIView.animate(withDuration: duration, delay: 0, options: options, animations: animations, completion: nil)
    } else {
        animations()
    }
}

但是在animations: animationsanimations()中显示错误:

  

在其初始值内使用的变量

1 个答案:

答案 0 :(得分:1)

初始化时不能自称。 您也可以这样实现。

var animations:(() -> Void)!

animations = {
    animations()
}