【发布时间】:2015-12-29 18:29:00
【问题描述】:
是否可以将具有多个参数的函数/方法视为 Swift 中的闭包?我特别询问初始函数名称与其他函数相同的情况,并通过其参数的数量/类型/名称来区分。例如,采取以下方式:
class Foo {
func bar(bar: String) { print("bar: \(bar)") }
func bar(bar: String, baz: String) {
print("bar: \(bar), baz: \(baz)")
}
}
let foo = Foo()
let bar1: (String) -> () = foo.bar
let bar2: (String, String) -> () = ???
单个参数bar(_:) 函数可以分配给(String) -> () 类型的变量,就像分配给bar1 时所做的那样。但是,我不知道如何将bar(_:baz:) 分配给bar2。这在 Swift 中可能吗?如果有,怎么做?
【问题讨论】: