Xer*_*nox 9 contacts ios swift cncontact
我已经阅读了有关排序联系人的官方苹果文档,但我不确定如何实现它.所以,这是获取请求:
let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch)
Run Code Online (Sandbox Code Playgroud)
和我最喜欢的排序顺序:
let sortOrder = CNContactSortOrder.UserDefault
Run Code Online (Sandbox Code Playgroud)
这就是我通常获取联系人的方式:
do {
try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in
self.contacts.append(contact)
})
}
catch let error as NSError {
print(error.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)
现在该怎么办sortOrder?我应该在整个提取过程中包含哪些内容?
jey*_*jey 28
更新了Swift 4.0
let fetchRequest = CNContactFetchRequest(keysToFetch: [CNContactGivenNameKey as CNKeyDescriptor, CNContactFamilyNameKey as CNKeyDescriptor, CNContactMiddleNameKey as CNKeyDescriptor, CNContactEmailAddressesKey as CNKeyDescriptor,CNContactPhoneNumbersKey as CNKeyDescriptor])
fetchRequest.sortOrder = CNContactSortOrder.userDefault
let store = CNContactStore()
do {
try store.enumerateContacts(with: fetchRequest, usingBlock: { (contact, stop) -> Void in
// print(contact.phoneNumbers.first?.value ?? "not found")
})
}
catch let error as NSError {
print(error.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)
旧版本 写得像这样
fetchRequest.sortOrder = CNContactSortOrder.UserDefault
Run Code Online (Sandbox Code Playgroud)
在fetchRequest对象创建之后,你的最终输出就像
let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch)
fetchRequest.sortOrder = CNContactSortOrder.UserDefault
do {
try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in
self.contacts.append(contact)
})
}
catch let error as NSError {
print(error.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4114 次 |
| 最近记录: |