Можно ли рассматривать функцию/метод с несколькими аргументами как замыкание в Swift? Я особенно спрашиваю о том, где имя начальной функции такое же, как и другие функции, и дифференцируется по числу/типу/имени его аргументов. Возьмем, например, следующее:Передача функции с несколькими аргументами как замыкание в 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 - получить ссылку на функцию с тем же именем, но с разными параметрами] (http://stackoverflow.com/questions/28345950/swift-get-re Ference-к-а-функции-с-одноименным-но-разных-параметров). –