我正试图在 iOS 9联系人框架中获得重复CNContacts
,但我找不到一个好的解决方案。
我试图让它们循环播放,但它有点慢,而在较旧的设备上它会慢一点..
这是我在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
我不知道它会重复吗?或者我如何改进它以加快速度?