我试图添加一个元组(例如,2项目元组)到数组。
var myStringArray: (String,Int)[]? = nil
myStringArray += ("One",1)
我得到的是:
Could not find an overload for ‘+=’ that accepts the supplied
arguments
提示:我试图做一个重载的’=’每本参考书:
@assignment func += (inout left: (String,Int)[],right: (String,Int)[]) {
left = (left:String+right:String,left:Int+right+Int)
}
…但是没有正确的。
有任何想法吗? …解?
因为这仍然是谷歌添加元组到数组的顶部答案,值得注意的是,在最新版本中的事情有轻微的变化。即:
当声明/实例化数组时;该类型现在嵌套在括号中:
var stuff:[(name: String,value: Int)] = []
复合赋值运算符=,现在用于连接数组;如果添加单个项目,则需要将其嵌套在数组中:
stuff += [(name: "test 1",value: 1)]
它也值得注意,当对包含命名元组的数组使用append()时,您可以提供您添加的元组的每个属性作为append()的参数:
stuff.append((name: "test 2",value: 2))