Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于从IOS联系人存储中提取CNContactLabels的代码_Ios_Swift_Cncontactstore - Fatal编程技术网

用于从IOS联系人存储中提取CNContactLabels的代码

用于从IOS联系人存储中提取CNContactLabels的代码,ios,swift,cncontactstore,Ios,Swift,Cncontactstore,我正在尝试提取IOS联系人商店中电话号码的可用标签列表,以便当用户向联系人添加新号码时,他/她可以从该号码的表列表中选择标签。 我在检索和书写联系电话方面没有问题,但我无法找到可用标签的列表 我真正想做的是提取电话号码的标签数组,如下所示: var phoneNumbers : [CNLabeledValue<CNPhoneNumber>] = [] var phoneNumbers:[CNLabeledValue]=[] 但是我找不到从哪里提取电话号码的值。最后,我从文档中提取

我正在尝试提取IOS联系人商店中电话号码的可用标签列表,以便当用户向联系人添加新号码时,他/她可以从该号码的表列表中选择标签。 我在检索和书写联系电话方面没有问题,但我无法找到可用标签的列表

我真正想做的是提取电话号码的标签数组,如下所示:

var phoneNumbers : [CNLabeledValue<CNPhoneNumber>] = []
var phoneNumbers:[CNLabeledValue]=[]

但是我找不到从哪里提取电话号码的值。

最后,我从文档中提取了一个标签常量列表,并执行了以下操作:

Please check this code for CNLabeledValue, its working for me.

for phoneNumber in contact.phoneNumbers {
 if let number = phoneNumber.value as? CNPhoneNumber,
  let label = phoneNumber.label {
  let localizedLabel = CNLabeledValue.localizedStringForLabel(label)
  print("\(localizedLabel)  \(number.stringValue)")
 }
}
let arrLab = [CNLabelPhoneNumberHomeFax, CNLabelPhoneNumberMain,CNLabelPhoneNumberMobile,CNLabelPhoneNumberOtherFax, CNLabelPhoneNumberPager, CNLabelPhoneNumberWorkFax,CNLabelPhoneNumberiPhone,CNLabelOther ]
    for bod in arrLab {
        let label = CNLabeledValue<NSString>.localizedString(forLabel: bod)
        arr1.append(label)
    }
让arrLab=[CNLabelPhoneNumberHomeFax,CNLabelPhoneNumberMain,CNLabelPhoneNumberMobile,CNLabelPhoneNumberOtherFax,cnlabelphonenumberpage,CNLabelPhoneNumberWorkFax,cnlabelphonenumberphone,CNLabelOther]
用于实验室的生化需氧量{
let label=CNLabeledValue.localizedString(forLabel:bod)
arr1.追加(标签)
}
这并不理想,因为如果苹果决定添加一个新常量,该应用程序将需要维护。最好能够直接从设备中提取常量。
也,如果有自定义标签,我的代码将丢失这些标签。

谢谢,这似乎将获得联系人现有电话号码的标签-我试图找到的是电话号码所有标签的列表,这样当用户使用我的应用程序接收新号码时,他将看到可能的标签列表以及添加新自定义号码的选项标签。我已经下载了MGContacts(我想是苹果写的),它除了添加联系人和标签外,什么都可以做\独立于联系人获取标准和自定义标签列表仍然是一件我找不到答案的事情,因为我在这方面做了标记,但是我仍然没有找到答案-也许我的问题措辞不当-我的意思是:独立于任何联系人获取标准和自定义标签列表仍然是一件我找不到的事情为…找到答案。所以我想要记录的就是显示电话号码、电子邮件等可能标签的列表;就像IOS在你接触新联系人时所做的那样。