2016-09-22 79 views
1

试图将其转换为Swift 3.0时出现问题。无法调用非函数类型的值

我:

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

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

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

但我得到的错误“无法调用非功能型的价值”。我在这里做错了什么?

回答

0

尝试调用它像这样:

self.completionBlock(nil, error) 
2

CustomCompletionBlock签名,

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

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

所以你必须调用它像:

self.completionBlock(nil, error) 
相关问题