2

iPhone プロジェクトでは、Erica Sadun による ABContactsHelper を使用しています。連絡先を表示するために、iOS が AddressBook.app などで使用するのと同じ並べ替え順序を使用したくありません。この情報を取得する可能性はありますか?

私は試した:

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

ABContactsHelper クラスからですが、これらは常に名の並べ替えを提供します。連絡先設定で姓、名を設定しても。前もって感謝します。

クリス

4

1 に答える 1

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 フレームワークを理解するのはそれほど難しくありません。

于 2013-07-10T23:39:39.563 に答える