Определить порядок сортировки iOS для ABContactsHelper
Для проекта iPhone я использую ABContactsHelper от Эрики Садун. Чтобы показать контакты, я не хочу использовать тот же порядок сортировки, который использует iOS, например, в AdressBook.app. Есть ли возможность получить эту информацию?
Я старался:
+ (BOOL) firstNameSorting;
+ (BOOL) lastNameSorting;
от класса ABContactsHelper, но они всегда дают мне сортировку по имени. Даже если я установлю фамилию, имя в настройке контакта. Заранее спасибо.
Крис
1 ответ
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 не так сложна для понимания.