2011-01-09 5 views

答えて

28

ABAddressBookRef aB = ABAddressBookCreate(); 
ABRecordRef source = ABAddressBookCopyDefaultSource(aB); // or get the source with ABPersonCopySource(somePersonsABRecordRef); 
NSArray *arr = (NSArray *)ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(aB, source, kABPersonSortByLastName); 
// you can also use kABPersonSortByFirstName instead of kABPersonSortByLastName 
+4

注:優先ソート順は)(ABPersonGetSortOrderingされる - これは、ユーザーの好みによってソート順に記入します。 – n13

+1

ありがとう、これは素晴らしいです。他の多くの例で見たように、すべての連絡先を取得してコードでソートするよりもはるかに高速です。 – n13

+1

誰でもSwiftでこれを行うことができましたか?私はそれを働かせるように見えない。 – Dean

0

これは私の仕事:

ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, error); 
ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook); 
NSArray *allPeople = (__bridge NSArray *)ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source, kABPersonSortByFirstName);