Arrays 如何访问Swift中“Any”中的“AnyHashable”类型?
我正在使用从用户电话中获取地址簿。当我打印变量Arrays 如何访问Swift中“Any”中的“AnyHashable”类型?,arrays,swift,swift3,Arrays,Swift,Swift3,我正在使用从用户电话中获取地址簿。当我打印变量serializedContacts时,它生成以下用户对象: [[ AnyHashable("name"): { compositeName = "Mary Jones"; firstName = Mary; lastName = Jones; }, AnyHashable("recordID"): 111, AnyHashable("phones"): <__N
serializedContacts
时,它生成以下用户对象:
[[
AnyHashable("name"): {
compositeName = "Mary Jones";
firstName = Mary;
lastName = Jones;
},
AnyHashable("recordID"): 111,
AnyHashable("phones"): <__NSSingleObjectArrayI 0x17401c160>({
number = "0411 111 111";
})
],
[
AnyHashable("name"): {
compositeName = "Jack Smith";
firstName = Jack;
lastName = Smith;
},
AnyHashable("recordID"): 112,
AnyHashable("phones"): <__NSSingleObjectArrayI 0x17401c190>({
number = "0422 222 222";
})
]]
[[
AnyHashable(“名称”):{
compositeName=“玛丽·琼斯”;
名字=玛丽;
姓氏=琼斯;
},
AnyHashable(“recordID”):111,
AnyHashable(“电话”):({
number=“0411 111”;
})
],
[
AnyHashable(“名称”):{
compositeName=“杰克·史密斯”;
名字=杰克;
姓氏=史密斯;
},
AnyHashable(“recordID”):112,
AnyHashable(“电话”):({
number=“0422 222”;
})
]]
我只需打印serializedContacts[0]
即可访问单个联系人,但如何访问更精细的详细信息,如compositeName
和number
我尝试了serializedContacts[0]。名称和serializedContacts[0]。手机,但收到了错误
“Any”类型的值没有成员“name”
您还应该将您尝试访问的属性转换为以前的AnyHashable。在您的情况下,这是:
serializedContacts[0][AnyHashable("name")]