错误:访问协议类型值的成员'字符串'没有实现

时间:2015-05-09 09:38:44

标签: arrays swift

我试图用Swift编程语言在数组中放入3个值,但我收到了错误。

以下是代码:

var a = txtSchool.text
var b = txtDegree.text
var c = txtYear.text.toInt()        
eduData.append(a, b, c!)

另一个文件中的数组是:

var eduData = [String , String , Int]()

Xcode给我一个错误:

accessing members of protocol type value 'String' is unimplemented

我想在一个数组中存储三个文本字段,然后我想在表视图中显示它。当我获取变量中的所有值,并尝试将它们存储在数组中时。

错误是什么意思,我在做什么导致它?

1 个答案:

答案 0 :(得分:3)

因为您要为数组提供多种类型,Swift推断您需要一组元组:

var eduData = [String, String, Int]()
let object1 = ("a", "b", 42)
let object2 = ("c", "d", 33)
eduData.append(object1)
eduData.append(object2)
print(eduData)           // prints [(a, b, 42), (c, d, 33)]

数组中的每个对象都是一个元组:

print(eduData[0].0)     // prints "a"
print(eduData[0].1)     // prints "b"
print(eduData[0].2)     // prints 42