2011-01-09 10 views

Odpowiedz

28

Poniższa powinno działać:

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

Uwaga: preferowany porządek jest ABPersonGetSortOrdering() - to będzie wypełnić w kolejności Sortuj według preferencji użytkownika. – n13

+1

Dzięki, to jest niesamowite. Jest to znacznie szybsze niż uzyskiwanie wszystkich kontaktów i sortowanie ich w kodzie, jak to widziałem w wielu innych przykładach. – n13

+1

Czy ktoś mógł to zrobić w Swift? Nie mogę tego zmusić do działania. – Dean

0

Ten pracował dla mnie:

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