문제

I am trying to save the unsaved contacts through ABAddressBook using the following code:

CFErrorRef error = NULL;
if (ABAddressBookHasUnsavedChanges(addressBook)) {
    ABAddressBookSave(addressBook, &error);
} else {
    ABAddressBookRevert(addressBook);
}

If I try to save about 1000 contacts, it is taking more than one minute to perform the action. I have run the code in Time Profiler and it reports 92% of total time elapsed singly on ABAddressBookSave.

Please help me reduce the time complexity of my code.

도움이 되었습니까?

해결책

I have put whole addressbook access and saving functionality of my application on different thread(i.e. dispatch_queue_async{}).So some performance is enhanced. Also logged an issue with apple developer and getting same response to use dispatch_queue, after one month of request. Hope it will help you! –

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top