首页 文章

如何将第一个函数用作第二个函数的闭包

提问于
浏览
-3

我有一个使用第一个功能的任务

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

作为第二个的封闭

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

你能给我一些关于我该怎么做的建议吗?据我所知,如果我们使用第一个函数作为第二个函数的参数,它将被视为一个闭包 . 在那种情况下,我应该在第一个函数中返回Void值,对吗?

1 回答

  • 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 .

相关问题