2016-09-22 78 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) 
相關問題