2017-09-08 153 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

相关问题