一尘不染

在Swift中将数组传递给具有可变数量args的函数

swift

Swift编程语言中,它说:

函数也可以采用可变数量的参数,将它们收集到一个数组中。

  func sumOf(numbers: Int...) -> Int {
      ...
  }

当我用逗号分隔的数字列表(`sumOf(1、2、3、4)调用这样的函数时,它们可以作为函数内部的数组使用。

问题:如果我已经有一个要传递给该函数的数字数组怎么办?

let numbers = [1, 2, 3, 4]
sumOf(numbers)

这将因编译器错误而失败,即“找不到接受提供的参数的’__conversion’的重载”。有没有办法将现有数组转换为可以传递给可变参数函数的元素列表?


阅读 262

收藏
2020-07-07

共1个答案

一尘不染

开发人员证实,Splatting尚未使用该语言。目前的解决方法是使用重载,或者如果无法添加重载则等待。

2020-07-07