
我可以从Digits获得匹配的digitUserID列表.
现在我正在努力匹配UserID和CNContacts.
请指出任何例子来处理这个问题.
作为更新:
do { try contactStore.enumerateContactsWithFetchRequest(CNContactFetchRequest(keysToFetch: [CNContactGivennameKey,CNContactFamilynameKey,CNContactMIDdlenameKey,CNContactEmailAddressesKey,CNContactPhoneNumbersKey])) { (contact,cursor) -> VoID in self.results.append(contact) }}catch{ print("Handle the error please")} 以上我设法得到了所有的联系,但我不知道如何将电话号码过滤器传入此并获得与CNContact的精确联系人匹配
解决方法 理想情况下,人们会预期CNContactFetchRequest的谓词来完成这项工作,但是(仍然; argh)只接受用CNContact定义的一个狭窄的谓词列表(例如CNContact predicateForContacts(matchingname :)或predicateForContacts(withIDentifIErs :).它不会’甚至接受基于块的nspredicate.所以,你必须枚举,自己寻找比赛,例如
let request = CNContactFetchRequest(keysToFetch: [ CNContactGivennameKey as CNKeyDescriptor,CNContactFamilynameKey as CNKeyDescriptor,CNContactMIDdlenameKey as CNKeyDescriptor,CNContactEmailAddressesKey as CNKeyDescriptor,CNContactPhoneNumbersKey as CNKeyDescriptor])do { try contactStore.enumerateContacts(with: request) { contact,stop in for phone in contact.phoneNumbers { // look at `phone.value.stringValue`,e.g. let phoneNumberDigits = String(phone.value.stringValue.characters.filter { String().rangeOfCharacter(from: CharacterSet.decimalDigits) != nil }) if phoneNumberDigits == "8885551212" { self.results.append(contact) return } } }} catch let enumerateError { print(enumerateError.localizedDescription)} 关于匹配“数字用户ID”,我不知道该标识符是什么(它是联系人框架标识符还是数字自己的标识符?).
总结以上是内存溢出为你收集整理的匹配CNcontact和数字寻找朋友Swift 3全部内容,希望文章能够帮你解决匹配CNcontact和数字寻找朋友Swift 3所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)