Swift 闭包增加了超过 2 个值

标签 swift

我是 swift 的新手,尤其是闭包,当我练习 sum 函数时,我可以添加 2 个值,但是当我尝试为 3 个或更多值做时,我得到错误

例如: 添加 2 个有效的值

var calculate: (Double,Double)->Double
calculate = {$0+$1}
print(calculate(4,3)) 

但是这个会报错

var calculate: (Int,Int,Int)->Int

calculate = {$0+$1+$2} 

print(calculate(5,8,90))

有什么原因我们不能执行这个..你能给我建议使用闭包的方法吗

谢谢

最佳答案

在这种情况下,编译器无法正确重现结果类型。你应该帮助它一点:

var calculate: (Int,Int,Int) -> Int
calculate = { Int($0+$1+$2) }
print(calculate(5,8,90)) // "103\n"

关于Swift 闭包增加了超过 2 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44496524/

相关文章:

swift - 雪碧包 : Animate node with running atlas and move node

ios - 如何使用 firebase 从数据库中提取用户并在 TableView 中列出它们?

swift - 如何解析 XML - Swift 3 中的复杂 XML 构造

ios - UITableViewCell 对 indexPath 的更改不正确

ios - alamofire 源中出现 Ambigously use of "Task"错误

swift - 当 iAd 横幅出现时,如何将 View 内容向上移动? (以 Swift 编程方式)

ios - UILabels 作为 UIView 子类的一部分不会启动

swift - 使用泛型组合 2 个独立的几乎相同的函数

ios - 如何使用对 API 的 POST 调用结果进行另一个 POST 调用

ios - UIPageViewController 不推送另一个 View