【发布时间】:2017-09-02 19:22:40
【问题描述】:
我确实从这个方法中找到了重复的联系人列表,现在我被困在合并重复项中,不知道我该怎么做。
我使用从上一个问题引用的此代码获取了重复项。
let formatter = CNContactFormatter()
formatter.style = .fullName
let keys = [CNContactIdentifierKey as CNKeyDescriptor, CNContactFormatter.descriptorForRequiredKeys(for: .fullName)]
let request = CNContactFetchRequest(keysToFetch: keys)
var contactsByName = [String: [CNContact]]()
try! self.store.enumerateContacts(with: request) { contact, stop in
guard let name = formatter.string(from: contact) else { return }
contactsByName[name] = (contactsByName[name] ?? []) + [contact] // or in Swift 4, `contactsByName[name, default: []].append(contact)`
}
let duplicates = contactsByName.filter { $1.count > 1 }
【问题讨论】:
标签: ios swift3 cncontactstore contacts-framework