【发布时间】:2019-10-04 02:34:45
【问题描述】:
UIContextualAction 类有一个带有以下签名的初始化器。
public convenience init(style: UIContextualAction.Style, title: String?, handler: @escaping UIContextualAction.Handler)
UIContextualAction 类的实例可以使用以下代码 sn-p 创建。
let action = UIContextualAction(style: .normal, title: "Delete") { (action, view, completion) in
completion(true)
}
我不明白的是第三个参数(即handler)传递给类初始化器的方式。
为什么在传递 delete 参数的值后,处理函数在单独的大括号内传递而不传递?
还有其他方法可以获得相同的输出吗?
【问题讨论】:
-
这是一个闭包,也是一种编写它们的方式,并在此处进行了解释:docs.swift.org/swift-book/LanguageGuide/Closures.html#ID102
标签: swift initializer