アドレス帳を使用するアプリがあります。を使用して、アドレス帳から並べ替えられた名前のリストを表示しようとしています
sortedArray = [arr_contactList sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
ユーザーが連絡先の 1 つを選択すると、その電話番号が表示されます。
iPhone のアドレス帳の電話番号を並べ替えることができます。
以下を使用して電話番号を並べ替えます。
ABRecordRef source = ABAddressBookCopyDefaultSource(ab);
NSArray *thePeople = (NSArray*)ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(ab, source, kABPersonSortByFirstName);
NSString *name;
for (id person in thePeople)
{
name = (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
for(CFIndex j = 0; j < ABMultiValueGetCount(phones); j++)
{
NSString* num = (NSString*)ABMultiValueCopyValueAtIndex(phones, j);
CFStringRef locLabel1 = ABMultiValueCopyLabelAtIndex(phones, j);
NSString *phoneLabel1 =(NSString*) ABAddressBookCopyLocalizedLabel(locLabel1);
[tempPhoneArray addObject:num];
}
}
しかし、私の実際の問題は、私の名前の配列には、リストの一番上に特殊文字で始まる連絡先があり、電話番号を選択すると、並べ替えられた連絡先リストはアルファベット A で始まるため、間違った電話番号を取得していることです。
名前の並べ替えと数字の並べ替えの両方の並べ替えを一致させるにはどうすればよいですか?