2015-10-14 3 views
5

Ich weiß bekommen, dass ich mit CNContacts wie folgt sortieren:Wie Benutzer Sortierreihenfolge mit CNContact API

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

Die Frage lautet: Wie finde ich was ist dass Sortierreihenfolge? Abgesehen von einer Hacky-Heuristik, die untersucht, was von der Abrufaufzählung zurückkommt.

Es gibt einen alten ABPersonGetSortOrdering() -Aufruf, der wahrscheinlich für eine Weile bleiben wird, aber sicherlich gibt es einen CNContact-Weg, dies zu tun.

Antwort

8

ABPersonGetSortOrdering() wurde in iOS 9.0 veraltet: Verwenden Sie [[CNContactsUserDefaults sharedDefaults] sortOrder]

lassen sortOrder = CNContactsUserDefaults.sharedDefaults() sortOrder

+1

Das funktioniert wirklich, danke! Ich wundere mich nur, dass CNContactsUserDefaults nicht ordnungsgemäß dokumentiert ist. Ich hoffe, es ist keine interne API? –

0

Swift 4

die Standardsortierreihenfolge. :

let sortOrder = CNContactsUserDefaults.shared().sortOrder 

Für benutzerdefinierte Sortierung, dh

let customSortOrder = CNContactSortOrder.givenName