确定ABContactsHelper的iOS排序顺序
对于一个iPhone项目,我使用的是Erica Sadun的ABContactsHelper。 要显示联系人,我不想使用与iOS在addressbook.app中使用的排序顺序相同的排序顺序。 是否有可能获得此信息 我试过:确定ABContactsHelper的iOS排序顺序,ios,contacts,abaddressbook,Ios,Contacts,Abaddressbook,对于一个iPhone项目,我使用的是Erica Sadun的ABContactsHelper。 要显示联系人,我不想使用与iOS在addressbook.app中使用的排序顺序相同的排序顺序。 是否有可能获得此信息 我试过: + (BOOL) firstNameSorting; + (BOOL) lastNameSorting; 从ABContactsHelper类,但这些总是给我的名字排序。即使我在联系人设置中设置了lastname和firstname。 提前谢谢 克里斯应该工作 ABPer
+ (BOOL) firstNameSorting;
+ (BOOL) lastNameSorting;
从ABContactsHelper类,但这些总是给我的名字排序。即使我在联系人设置中设置了lastname和firstname。
提前谢谢
克里斯应该工作
ABPersonSortOrdering sortOrder = ABPersonGetSortOrdering();
if (sortOrder == kABPersonSortByFirstName) {
// sort by firstName
}
else {
// sort by lastName
}
如果您查看Ericas代码,您将看到它没有返回排序顺序。它实际上返回显示格式 从ABContactsHelper.m:
// Sorting
+ (BOOL) firstNameSorting
{
return (ABPersonGetCompositeNameFormat() == kABPersonCompositeNameFormatFirstNameFirst);
}
这是完全错误的
也许你想跳过那段4年前没有维护的代码,自己写点东西。AddressBook框架并不难理解 就这样。非常感谢。当时我选择它只是为了更快的进步。无论如何,现有的forks github提供iOS 5+支持…如果用户再次更改排序顺序,我如何得到通知?@schystz您不会得到通知。您必须按照Matthias所述检索排序顺序Bauch@Matthias您能在回答中添加iOS 9及更高版本的代码吗?感谢
[[CNContactsSuserDefaults sharedDefaults]排序器]