我知道我可以像这样使用 CNContacts 进行排序:
let fetch = CNContactFetchRequest(...)
fetch.sortOrder = .UserDefault
问题是:我如何找到排序顺序?除了检查从 fetch 枚举返回的内容的一些 hacky 启发式方法。
有一个旧的 ABPersonGetSortOrdering() 调用可能会保留一段时间,但肯定有一种 CNContact 方法可以做到这一点。
ABPersonGetSortOrdering()
在 iOS 9.0 中已弃用:使用 [[CNContactsUserDefaults sharedDefaults] sortOrder]
让 sortOrder = CNContactsUserDefaults.sharedDefaults().sortOrder
斯威夫特 4
使用默认排序顺序:
let sortOrder = CNContactsUserDefaults.shared().sortOrder
对于自定义排序顺序,即
let customSortOrder = CNContactSortOrder.givenName