如何在Swift中将可选闭包声明为属性?
我正在使用此代码:
var respondToButton:(sender: UIButton) -> Bool
但编译器抱怨该属性未在初始化程序结束时初始化。我相信我可以通过将var声明为可选来解决这个问题,但是,我找不到正确的语法。
如何将此闭包属性声明为可选?
答案 0 :(得分:76)
我相信你只需要在括号中包含闭包类型,如下所示:
var respondToButton:((sender: UIButton) -> Bool)?
或者,如果这是一个闭包类型,你经常会使用typealias
来使它更具可读性:
typealias buttonResponder = (sender: UIButton) -> Bool
然后在你班上:
var respondToButton:buttonResponder?