我试图CNContacts
在iOS 9 联系人框架中复制,但我找不到一个好的解决方案。
我试图让它们循环,但它有点慢,在旧设备上它会更慢..
这是我在 iPhone 6 上取得的最好成绩(500 个联系人,134 个重复):
func fetchDuplicateContacts(){
self.arr_duplicateContacts.removeAll();
NSLog("Start fetch duplicate", "")
for (var i: Int = 0; i < self.arr_allContacts.count; i++){
let contact1 = self.arr_allContacts[i]
for (var j: Int = ++i; j < self.arr_allContacts.count; j++){
let contact2 = self.arr_allContacts[j]
if(contact1 != contact2){
if CNContactFormatter.stringFromContact(contact1, style: .FullName) == CNContactFormatter.stringFromContact(contact2, style: .FullName){
print("Move on cuz duplicate: \(CNContactFormatter.stringFromContact(contact1, style: .FullName))")
self.arr_duplicateContacts.append(contact2)
i = j;
// break; <- Commented because it can be 2-3-4 duplicate contacts
}
}
}
}
NSLog("End fetch duplicate", "")
self.mytable.reloadData()
}
NSLogs 向我展示了:
2015-11-30 22:18:03.528 Coxxxxx[5312:1581719] 开始获取重复
2015-11-30 22:18:05.812 Conxxx[5312:1581719] 结束获取重复
有没有Contacts Framework API
我不知道它会重复?或者我怎样才能改进它以更快地运行?