У меня всего 10000 контактов в телефонной книге.Поэтому, когда в книге контактов выполняется какая-либо операция, мое приложение ничего не работает в приложении.
Мы должны выбрать контакт, используя контакт Swifty, но загружать больше времени.Мы использовали следующий метод, чтобы получить новый, отредактированный или удалить контакт.
NotificationCenter.default.addObserver(
self,
selector: #selector(self.addressBookDidChange),
name: NSNotification.Name.CNContactStoreDidChange,
object: nil)
@objc func addressBookDidChange(notification: NSNotification)
{
var totalconatctcounts : Int = 0
requestAccess
{
(responce) in
if responce
{
fetchContactsOnBackgroundThread(completionHandler: {
(result) in
switch result
{
case .Success(response: let contacts):
totalconatctcounts = contacts.count
self.GlobalContactArray.removeAll()
self.arr_contact_identifier.removeAll()
self.arr_contact_name_number_dict.removeAll()
for conatct in contacts
{
let new_contact = ContactEntry(cnContact: conatct)
if self.GlobalContactArray.contains(new_contact!)
{
}
else
{
self.GlobalContactArray.append(new_contact!)
self.arr_contact_identifier.append(conatct.identifier)
}
DispatchQueue.main.async
{
NotificationCenter.default.post(name: Notification.Name("LoadContactList"), object: nil)
}
break
case .Error(error: let error):
break
}
}
})
}
Как я могу получить только отредактированные, добавленные, удаленные контакты?