我想有一个变量来保存一个函数,但是它被初始化为nil。我试图让它成为一个可选项,但我收到了一个错误。
var OnClick: (UIButton!) -> ()? = nil
我收到此错误
Could not find an overload for '__conversion' that accepts the supplied arguments
如果我删除?,我也会得到同样的错误。
答案 0 :(得分:19)
你只需将它包装在括号中:
var OnClick: ((UIButton!) -> ())? = nil
答案 1 :(得分:1)
在这里添加Cezary的正确答案。如果有人需要详细说明。你走了。
var OnClick: (UIButton!) -> ()?
定义了一个名为OnClick的变量,它存储了一个函数类型。该函数接受Implicitly Unwrapped Optional
并返回可选Void
。请注意,optional不是函数本身,而是函数的返回类型。所以你不能指定nil。
var OnClick: ((UIButton!) -> ())?
定义一个名为OnClick的变量,它存储optional function
。该功能接受Implicitly Unwrapped Optional
并返回Void
。