Как я могу использовать первую функцию в качестве закрытия второй функции - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть задание использовать первую функцию

func printValue(boolValue: Bool) {
print(boolValue)
}

в качестве закрытия второй

func calculate(completion: (Bool) -> Void) {
completion(printValue(boolValue: 2>1))
} 

Не могли бы вы дать мне совет, как мне это сделать??Как я понимаю, если мы будем использовать первую функцию в качестве аргумента для второй функции, она будет считаться закрытием.В этом случае я должен вернуть значение Void в первой функции, верно?

1 Ответ

0 голосов
/ 09 декабря 2018

Попробуйте выполнить следующее:

func printValue(boolValue: Bool) {
    print(boolValue)
}

func calculate(completion: (Bool) -> Void) {
    completion(2 > 1)
}

calculate(completion: printValue)

В вашем коде printValue(boolValue: 2 > 1) не является функцией, это возвращаемое значение printValue(boolValue:) при выполнении условия 2 > 1.Принимая во внимание, что calculate(completion:) принимает в качестве аргумента другую функцию , которая имеет подпись (Bool) -> Void).Внутри calculate(completion:) эта функция называется completion.

...