2016-10-05 47 views
1

我使用​​来从用户手机中的通讯录。它产生用户的下列对象当我打印可变serializedContacts我如何可以访问``Any`类型AnyHashable`斯威夫特?

[[ 
    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"; 
    }) 
]] 

我可以访问由简单的打印serializedContacts[0]单个接触,虽然我怎样可以访问更精细的细节,例如compositeNamenumber

我试图serializedContacts[0].nameserializedContacts[0].phones,虽然收到错误。

类型的值“任何”没有成员“名称”。

回答

1

你也应该转换你想之前访问AnyHashable财产。你的情况是这样的:

serializedContacts[0][AnyHashable("name")]