Я использую приведенный выше код (из утвержденного ответа) для копирования адресной книги с iPhone, а также использовал ABPersonComparePeopleByName
для сортировки адресной книги.Но обнаружил, что у него будут разные результаты сортировки для одной и той же адресной книги, когда международный язык iPhone отличается.Предположим, разумно сортировать разные языки на основе разных критериев.Таким образом, в нашем проекте у нас есть «en.lproj» .. «zh-hant.lproj» ... «ja.lproj», в NSCalendar
у нас также есть настройка «locale».Поэтому я думаю, как установить критерии для ABPersonComparePeopleByName
и спросил Apple.Очень полезный ответ: « порядок сортировки непредсказуем ».
Соответствующая часть ответа Apple ниже:
Это на самом деле нормальное поведение.Сортировка на разных языках на самом деле является невероятно сложной проблемой, когда ожидания пользователя сильно различаются в зависимости от языка / местоположения.Честно говоря, ваш лучший вариант - скорректировать ваши ожидания и предположить, что порядок сортировки непредсказуем.Любой другой подход очень вероятно раздражает и запутывает многих международных пользователей.
-Kevin
Кевин Эллиот, инженер DTS, kevin_elliott @ apple, com