В Objective-C, я бы отсортировать массив людей следующим образом:Сортировка контактов с CFArraySortValues в Swift
CFArraySortValues(mutablePeople,
CFRangeMake(0, CFArrayGetCount(mutablePeople)),
(CFComparatorFunction) ABPersonComparePeopleByName,
kABPersonSortByFirstName)
Я изо всех сил, чтобы понять, как сделать то же самое в Swift. Следующее:
let ctx = UnsafeMutablePointer<Void>.alloc(kABPersonSortByFirstName)
CFArraySortValues(mutablePeople,
CFRangeMake(0, CFArrayGetCount(mutablePeople)),
ABPersonComparePeopleByName,
ctx)
дает ошибку компиляции:
Cannot invoke 'CFArraySortValues' with an argument list of type '(CFMutableArray!, CFRange, (ABRecord!, ABRecord!, ABPersonSortOrdering) -> CFComparisonResult, UnsafeMutablePointer)'
проблема выглядит с ABPersonComparePeopleByName
, который будет приведен к CFComparatorFunction
в Objective-C.
Два отличных ответа, только то, что мне было нужно, спасибо. –