iPhone ABContact地址簿排序。

时间:2011-03-08 14:13:16

标签: iphone

如何按名字对地址簿进行排序。我正在使用ABContact类。

1 个答案:

答案 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

中有完整记录的样本

希望这有帮助, 文森特