Я хотел бы создать функцию (Функция A), которая имеет в качестве параметра функцию (Функция B) с несколькими параметрами.
Таким образом, функция (B) может иметь 0,1 или более параметров, и внутри функции (A) я хотел бы делать разные вещи в зависимости от количества и типа параметров функций B ...
Я думал, что это возможно с помощью отражения, но возможно ли это в Swift?
Редактировать: 1 Давайте рассмотрим три случая для функции B, которую я хочу поддерживать:
func functionB() {
print(“HelloWorld”)
}
func functionB(a: Int) {
print(“HelloWorld1”)
}
func functionB(a: Int, b:String) -> Int {
print(“HelloWorld2”)
return 2
}
Я хочу, чтобы независимо от метода сигнатуры функции B выполнялись различные задачи в функции A, в качестве параметра которой используется функция B.
func functionA(function: I don’t know how to pass the different cases of the function B as a parameter...generic types?) {
if function.args = 0 {
print(“First example”)
}
if function.firstParameter.self is Int.Type {
print(“second Example”)
}
etc...
Я хочу чтобы добиться этого, чтобы обрабатывать разные методы подписи с помощью одной и той же функции.
Редактировать 2: Извините, что не указал его ранее, но у меня нет доступа к функции B. У меня есть чтобы выяснить во время выполнения, а не время сборки. Две функции находятся в отдельном пакете. Цель состояла в том, чтобы приложение должно динамически выполнять различные задачи во время выполнения, зная только сигнатуру метода, в частности, типы параметров.