Swift中可选的闭包属性

你如何在Swift中声明一个可选的闭包作为属性?

我正在使用这个代码:

var respondToButton:(sender: UIButton) -> Bool 

但是编译器会抱怨这个属性在初始化器的末尾没有被初始化。 我相信我可以通过声明var作为一个可选项来解决这个问题,但是,我找不到正确的语法。

我如何将这个闭包属性声明为可选项?

我相信你只需要在括号中包装闭包types,就像这样:

 var respondToButton:((sender: UIButton) -> Bool)? 

或者,如果这是一个封闭types,你会经常使用,你可以创build一个typealias ,使其更具可读性:

 typealias buttonResponder = (sender: UIButton) -> Bool 

那么在你的class级里:

 var respondToButton:buttonResponder?