2017-09-08 190 views
-4

有一個類似於按鈕的類實例UIView。 它具有屬性:無法將類型'Void'(aka'()')的值分配給類型'() - > Void'

public var endPressAction:(()->Void)? 

還有與方法的控制器:

func didPressCell(_ indexPath: IndexPath){ 

我試圖通過控制器的方法作爲參數傳遞給「按鈕」是這樣的:

button.endPressAction = self.didPressCell(indexPath) 

但我得到的錯誤:

Cannot assign value of type 'Void' (aka '()') to type '() -> Void'

有沒有人知道轉換的方法?

回答

1

我發現轉化的一種方法:

button.endPressAction = { self.didPressCell(indexPath) } 
+0

順便提一下,此代碼引入了強烈的基準週期。你應該在這個閉包中使用'[weak self]'或'unowned self]'模式。 – Rob

相關問題