我正在使用Swift的trailing closure语法来创建UIAlertAction
。此代码按预期编译和工作:
let action = UIAlertAction(title: title!, style: .Default) { (alert: UIAlertAction!) -> Void in
if let delegate = self.delegate {
delegate.myDelegateMethod?()
}
}
但是,我想要call the delegate method through optional chaining,所以我将代码更改为:
let action = UIAlertAction(title: title!, style: .Default) { (alert: UIAlertAction!) -> Void in
self.delegate?.myDelegateMethod?()
}
这显示let action = …
行上的编译器错误:
找不到会员'默认'
我发布了一个complete example on Gist,您可以粘贴到项目或游乐场。
我没有更改UIAlertAction
初始化 - 只是尾随闭包中的代码 - 所以我不确定是什么导致了这个。