我正在使用APAddressBook
从用户手机获取地址簿。当我打印变量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";
})
]]
我只需打印serializedContacts[0]
即可访问单个联系人,但我如何才能访问compositeName
和number
等更精细的详细信息?
我尝试了serializedContacts[0].name
和serializedContacts[0].phones
,但收到了错误。
“Any”类型的值没有成员“name”。
答案 0 :(得分:1)
您之前还应该将您尝试访问的属性转换为AnyHashable。在你的情况下,这是:
serializedContacts[0][AnyHashable("name")]