删除联系人后如何强制ABAddressBook'Letter'部分更新

时间:2013-10-21 14:06:12

标签: ios abaddressbook

我正在过滤来自ABAddressBook的联系人,然后使用IOS7地址簿选择器Ui显示它。

但我发现Picker UI不同步......

我使用以下代码删除自己:

ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *people = (__bridge NSArray *) ABAddressBookCopyArrayOfAllPeople(addressBook);

NSMutableArray * recordsToRemoveArray = [[NSMutableArray alloc]init];

/* Here I decide which records we want to remove 
   and add them to the 'recordsToRemoveArray */

/* Finally, we iterate through the array of records to remove, 
   removing them from our copy of the address book: */
for (int l=0; l < recordsToRemoveArray.count; l++) {
    ABRecordRef recToRemoveRef = (__bridge ABRecordRef)([recordsToRemoveArray objectAtIndex:l]);

    ABAddressBookRemoveRecord(addressBook, recToRemoveRef, nil);
}

但是,我发现联系人与“信件部分”

不同步

如果我是该部分中唯一的联系人,则会发生这种情况。

E.g。鲍勃史密斯从字母'S'部分删除,但选择器仍然显示'S'部分,但下一部分的联系人在其中!

任何人都知道如何避免这种情况?我没有找到删除部分api或强制更新ABAddressBook的方法。

0 个答案:

没有答案