【问题标题】:Cannot call value of non-function type不能调用非函数类型的值
【发布时间】:2017-01-30 19:00:16
【问题描述】:

尝试将其转换为 Swift 3.0 时遇到问题。

我有:

public typealias CustomCompletionBlock = (_ image: UIImage?, _ error: Error?) -> Void
public var completionBlock : CustomCompletionBlock!

稍后在我的代码中我想设置completionBlock 例如:

self.completionBlock(image: nil, error: error)

但我收到错误“无法调用非函数类型的值”。我在这里做错了什么?

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    CustomCompletionBlock签名,

    public typealias CustomCompletionBlock = (_ image: UIImage?, _ error: Error?) -> Void
    

    您已将_ 指定为imageerror 变量的外部参数名称。这意味着在调用CustomCompletionBlock 时,您不必指定任何参数名称。 imageerror内部参数名称,即它们只能在闭包定义中使用。

    所以你必须这样称呼它:

    self.completionBlock(nil, error)
    

    【讨论】:

      【解决方案2】:

      试着这样称呼它:

      self.completionBlock(nil, error)
      

      【讨论】:

        猜你喜欢
        • 2016-11-26
        • 1970-01-01
        • 1970-01-01
        • 2018-02-27
        • 2017-07-02
        • 1970-01-01
        • 1970-01-01
        • 2017-03-02
        相关资源
        最近更新 更多