Swift 中的可选闭包属性
Posted
技术标签:
【中文标题】Swift 中的可选闭包属性【英文标题】:optional closure property in Swift 【发布时间】:2014-06-11 18:38:51 【问题描述】:如何在 Swift 中将可选闭包声明为属性?
我正在使用此代码:
var respondToButton:(sender: UIButton) -> Bool
但编译器抱怨该属性未在初始化程序结束时初始化。我相信我可以通过将 var 声明为可选来解决这个问题,但是,我找不到正确的语法。
如何将此闭包属性声明为可选?
【问题讨论】:
var respondToButton:((sender: UIButton) -> Bool)?
工作吗?
真棒是的!添加答案以便我接受?
【参考方案1】:
我相信你只需要将闭包类型括在括号中,如下所示:
var respondToButton:((sender: UIButton) -> Bool)?
或者,如果这是您要经常使用的闭包类型,您可以创建一个 typealias
以使其更具可读性:
typealias buttonResponder = (sender: UIButton) -> Bool
然后在你的班级:
var respondToButton:buttonResponder?
【讨论】:
以上是关于Swift 中的可选闭包属性的主要内容,如果未能解决你的问题,请参考以下文章