如何按名字对地址簿进行排序。我正在使用ABContact类。
答案 0 :(得分:1)
首先,您需要使用该方法获取所有联系人的数组:
CFArrayRef ABAddressBookCopyArrayOfAllPeople (
ABAddressBookRef addressBook
);
然后你可以使用:
创建一个可变版本的数组CFMutableArrayRef peopleMutable = CFArrayCreateMutableCopy(
kCFAllocatorDefault,
CFArrayGetCount(people),
people
);
您可以使用以下命令对此数组进行排序:
CFArraySortValues(
peopleMutable,
CFRangeMake(0, CFArrayGetCount(peopleMutable)),
(CFComparatorFunction) ABPersonComparePeopleByName,
(void*) ABPersonGetSortOrdering()
);
Address Book Programming guide
中有完整记录的样本希望这有帮助, 文森特