public static func easeOutQuint(_ t: Float, _ b: Float, _ c: Float, _ d: Float = 1.0) -> Float {
return {
return c * ($0 * $0 * $0 * $0 * $0 + 1.0) + b
}(t / d - 1.0)
}
我对闭包不熟悉,所以我无法自己修复它,有人可以帮助我吗?
最佳答案
闭包是一个很棒的工具,但是,在这个特定的例子中,在我看来,没有它们你会更好......
例如,您可以将函数简单地重写为:
public static func easeOutQuint(_ t: Float, _ b: Float, _ c: Float, _ d: Float = 1.0) -> Float {
let x = (t / d - 1.0)
return c * (pow(x, 5) + 1) + b
}
顺便说一句,这应该可以在您遇到的任何 Swift 编译器中编译良好;)
关于Swift 闭包编译失败,表达式太复杂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47047579/