我已经分配了使用第一个功能
func printValue(boolValue: Bool) {
print(boolValue)
}
作为第二个的结束
func calculate(completion: (Bool) -> Void) {
completion(printValue(boolValue: 2>1))
}
您能给我一些建议吗?据我了解,如果我们将第一个func用作第二个函数的参数,它将已经算作闭包。在那种情况下,我应该在第一个函数中返回Void值,对吗?
答案 0 :(得分:0)
尝试以下方法:
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
。