Swift:访问Array中的元组成员

时间:2016-06-02 09:37:26

标签: iphone xcode swift

为什么我收到此错误? 错误:类型的值'任何' (又名协议<>)没有会员'名称'

import UIKit
var alican = (name: "alican", surame:"yilmaz")
var array:[Any] = [alican]
print(array[0].name)

3 个答案:

答案 0 :(得分:4)

您已将您的数组声明为包含任何类型。如果你这样声明错误应该消失:

var array:[(name: String, surame: String)] = [alican]

如果数组需要能够包含Any类型,则可以使用flatMap仅提取与特定类型匹配的类型。

var array:[Any] = [alican]
var nameSurnames = array.flatMap({ return $0 as? (name: String, surame: String) })
print(nameSurnames[0].name)

答案 1 :(得分:1)

只需删除数组的输入...

var array = [alican]

通过swift尽可能推断出类型。

如果无法自动推断变量,您只需要显式输入变量。

答案 2 :(得分:1)

这是您访问姓名和姓氏的方式

var alican = (name: "alican", surame:"yilmaz")
var array = [alican]
print(array[0].name)