代码之家  ›  专栏  ›  技术社区  ›  NeoWang

在swift中接受元组的正确参数类型是什么?

  •  2
  • NeoWang  · 技术社区  · 9 年前

     func getRandomMember(from:[Any]) {
    

    但当我传递给它一个元组数组时:

     getRandomMember([(1,1), (-1,1), (-1,-1), (1, -1)])
    

    Xcode告诉我这是一个错误:

    [(Int, Int)] is not convertable to [Any].
    

    AnyObject

    1 回复  |  直到 9 年前
        1
  •  3
  •   Sweeper    9 年前

    当我在操场上测试你的代码时,它运行得非常好。我想你只是忘了添加参数标签 from .

    getRandomMember(from: [(1,1), (-1,1), (-1,-1), (1, -1)])
    

    然而,尽管上述方法可行,但我认为在这里使用泛型是一个更好的选择。您可以一般性地声明函数:

    func getRandomMemeber<T>(from array: [T]) -> T