尝试将此转换为Swift 3.0时遇到问题。
我有:
public typealias CustomCompletionBlock = (_ image: UIImage?, _ error: Error?) -> Void
public var completionBlock : CustomCompletionBlock!
稍后在我的代码中,我想设置completionBlock
例如:
self.completionBlock(image: nil, error: error)
但我收到错误 “无法调用非功能类型的值” 。我在这里做错了什么?
答案 0 :(得分:3)
在CustomCompletionBlock
签名中,
public typealias CustomCompletionBlock = (_ image: UIImage?, _ error: Error?) -> Void
您已为_
和image
变量指定了error
作为外部参数名称。这意味着在调用CustomCompletionBlock
时,您不必指定任何参数名称。 image
和error
是内部参数名称,即它们只能在闭包定义中使用。
所以你必须把它称为:
self.completionBlock(nil, error)
答案 1 :(得分:1)
尝试这样称呼:
self.completionBlock(nil, error)