我正在过滤来自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的方法。