对于一个 iPhone 项目,我正在使用 Erica Sadun 的 ABContactsHelper。为了显示联系人,我不想使用与 iOS 在例如 AdressBook.app 中使用的相同排序顺序。有没有可能获得这些信息?
我试过:
+ (BOOL) firstNameSorting;
+ (BOOL) lastNameSorting;
来自 ABContactsHelper 类,但这些总是给我名字排序。即使我在联系人设置中设置姓氏,名字。提前致谢。
克里斯
对于一个 iPhone 项目,我正在使用 Erica Sadun 的 ABContactsHelper。为了显示联系人,我不想使用与 iOS 在例如 AdressBook.app 中使用的相同排序顺序。有没有可能获得这些信息?
我试过:
+ (BOOL) firstNameSorting;
+ (BOOL) lastNameSorting;
来自 ABContactsHelper 类,但这些总是给我名字排序。即使我在联系人设置中设置姓氏,名字。提前致谢。
克里斯
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 框架并不难理解。