确定ABContactsHelper的iOS排序顺序

时间:2013-07-10 23:34:03

标签: ios contacts abaddressbook

对于iPhone项目我正在使用Erica Sadun的ABContactsHelper。 为了显示联系人,我不想使用与iOS在例如iOS中使用的排序顺序相同的排序顺序。 AdressBook.app。 有可能获得这些信息吗?

我试过了:

+ (BOOL) firstNameSorting;
+ (BOOL) lastNameSorting;

来自ABContactsHelper类,但这些总是给我一个名字排序。即使我在联系人设置中设置姓氏,名字。 提前谢谢。

克里斯

1 个答案:

答案 0 :(得分:5)

ABPersonGetSortOrdering()应该有用。

ABPersonSortOrdering sortOrder = ABPersonGetSortOrdering();
if (sortOrder == kABPersonSortByFirstName) {
    // sort by firstName
}
else {
    // sort by lastName
}

如果你看看Ericas代码,你会发现它没有返回排序顺序。它实际上返回显示格式。

来自ABContactsHelper.m:

// Sorting
+ (BOOL) firstNameSorting
{
    return (ABPersonGetCompositeNameFormat() == kABPersonCompositeNameFormatFirstNameFirst);
}

那是完全错误的。

也许你想跳过那个4岁的,没有维护的代码并自己写一些东西。 AddressBook框架并不难理解。