我正在尝试在swift中创建一个元组数组,其中每个元组包含一个(1)字母和(2)自定义对象数组,但是当我尝试追加它时会抛出错误'Int'不能转换为' T”。
以下是简化代码:
var tuples : [(letter : Character , objects : [myObject])] = []
//this works
tuples.append(letter:"test".firstChar(), objects: [myObject(), myObject()])
//gives error => 'Int' is not convertable to 'T' on the append function
var arrayOfObjects : [myObject] = []
tuples.append(letter:"test".firstChar(), objects: arrayOfObjects)
答案 0 :(得分:0)
这应该有效:
let arrayOfObjects : [myObject] = []
tuples.append(letter:"t", objects: arrayOfObjects)
如您所见,arrayOfObjects
是常数。这里的问题可能源于append
期望一个常量参数T
,同时传递包含var
的元组。
恕我直言这是使append
变得有点疯狂的原因,编译器给出了更疯狂的错误描述; - )