【发布时间】:2016-10-23 13:10:49
【问题描述】:
我正在使用 Swift 联系人并试图确定是否有办法将 contacts.phoneNumbers 转换为 NSDictionary?
即可以通过这种方式在contacts.phoneNumbers 中访问值:
self.officePhone.text = (contact.phoneNumbers[0].value ).value(forKey: "digits")as! String
计数取决于用户为每个联系人输入的电话号码数量,但是如果我打印contact.phoneNumbers,我会得到如下字符串:
label=_$!<Main>!$_, value=<CNPhoneNumber: 0x1452c870: countryCode=us, digits=7323214682>>
它看起来是一个键值对,但是如果我尝试转换为 NSDictionary 以便于访问,我会得到错误:
无法将 'CNLabeledValue 类型的值转换为 预期的参数类型 [AnyHashable : Any]
有什么想法吗?
【问题讨论】:
-
CNContact的phoneNumbers属性是一个数组,而不是字典。 -
好的,谢谢。但是有没有办法告诉用户如何标记它们?
-
循环遍历
CNLabeledValue实例列表。label属性是标签。value属性是CNPhoneNumber。 -
啊啊啊啊!!,谢谢....现在我明白了。