【发布时间】:2016-01-08 11:09:14
【问题描述】:
我只想显示那些具有特定电话号码的联系人。电话号码写在一个数组中。我不知道如何只显示这些联系人。因此我尝试使用“predicateForEnablingContact”方法。 但是使用我的代码,所有联系人都被禁用,即使是号码正确的联系人。我正在使用联系人框架。非常感谢您的帮助。
func picker () {
let numbers = ["555","8885555512"]
let pick = CNContactPickerViewController()
pick.displayedPropertyKeys = [CNContactPhoneNumbersKey]
pick.predicateForEnablingContact = NSPredicate(format: "phoneNumbers = %@", argumentArray: numbers)
pick.delegate = self
presentViewController(pick, animated: true, completion: nil)
}
func contactPicker(picker: CNContactPickerViewController, didSelectContacts contacts: [CNContact]) {
let Kontakte = contacts
print(Kontakte)
dismissViewControllerAnimated(true, completion: nil)
}
【问题讨论】:
-
phoneNumbers不是数字数组,因此它永远不会匹配您的numbers数组。您需要考虑“使用特定电话号码”对您的真正意义。 -
我想制作一个聊天应用程序并只显示使用该应用程序的联系人。我想我可以通过从解析下载用户号码并使用这个号码来搜索联系人来做到这一点。但是,如果我在解析时搜索联系人电话号码,然后下载名称(如果存在)然后使用带有名称的谓词,它应该可以工作还是这也是错误的?
-
"仅显示使用该应用程序的联系人" 联系人的标识符是其
identifier。 -
这是我的回答,希望对您有所帮助stackoverflow.com/questions/37481483/…>