【问题标题】:Add function after completion ((bool) -> void)完成后添加函数 ((bool) -> void)
【发布时间】:2017-04-08 11:25:42
【问题描述】:

我想用完成处理程序调用这个函数:

progressView.animate(fromAngle: 0, toAngle: 360, duration: 5, completion:
    print("go to next lvl")
)

但是我得到错误: print 产生 () 不是预期的上下文结果类型 ((bool) -> Void)?

我不知道这个错误是什么意思。我只想在完成处理程序中的持续时间结束时执行一个函数。我已经尝试在完成处理程序之后添加 (Bool) -> Void ,但这不起作用。谢谢。

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    签名(Bool) -> Void)对应的闭包是

    { (result) -> Void in ... }
    

    所以你必须写(省略了多余的推断语法)

    progressView.animate(fromAngle: 0, toAngle: 360, duration: 5, completion: { result in
        print("go to next lvl", result)
    })
    

    或使用尾随闭包语法

    progressView.animate(fromAngle: 0, toAngle: 360, duration: 5) { result in
        print("go to next lvl", result)
    }
    

    为什么不使用代码完成让 Xcode 为您提供正确的语法?

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2018-08-18
      • 2022-10-25
      • 2015-04-25
      • 1970-01-01
      • 2023-02-11
      • 2018-08-09
      相关资源
      最近更新 更多