2015-10-14 15 views
5

So che posso ordinare con CNContacts come questo:Come per ottenere un sistema di classificazione utente con CNContact API

let fetch = CNContactFetchRequest(...) 
fetch.sortOrder = .UserDefault 

La domanda è: come faccio a trovare ciò che è che tipo di ordinamento? A parte l'euristica hacky di esaminare ciò che ritorna dall'enumerazione di recupero.

C'è una vecchia chiamata ABPersonGetSortOrdering() che probabilmente rimarrà in giro per un po ', ma sicuramente c'è un modo CNC per farlo.

risposta

8

ABPersonGetSortOrdering() è stata sconsigliata a iOS 9.0: usa [[CNContactsUserDefaults sharedDefaults] sortOrder]

lasciare sortOrder = CNContactsUserDefaults.sharedDefaults() sortOrder

+1

Questo funziona davvero, grazie! Mi chiedo solo che CNContactsUserDefaults non sia adeguatamente documentato. Spero che non sia un'API interna? –

0

Swift 4

Utilizzando l'ordine predefinito. :

let sortOrder = CNContactsUserDefaults.shared().sortOrder 

Per ordinamento personalizzato, ad es.

let customSortOrder = CNContactSortOrder.givenName