Pracuję nad aplikacją na iOS i mam dane przechowywane w CoreData, które ładuję do UITableView. Obiekty danych mają atrybut o nazwie id
, który jest ciągiem zawierającym A
, po którym następuje liczba (np. "A1" "A2" itp.).NSSortDescriptor w Swift
Kiedy używam tego kodu do sortowania, I skończyć z tabeli są klasyfikowane leksykograficznie (czyli "A1", "A10" "A11" "A12", "A2", "A3" etc)
let sortDescriptor = NSSortDescriptor(key: "id", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
Tym, czego naprawdę chcę, jest sortowanie numeryczne, jak można się spodziewać. Jak mam to zrobić? Wiem, że NSComparator
może być dodany jako argument do NSSortDescriptor
, ale nie mogę dla mojego życia zorientować się. Z góry dziękuję za pomoc!
Dokładnie to, czego potrzebowałem. Dziękuję Ci! –
nowy format wydaje się być .. NSSortDescriptor (klucz: "id", rosnąco: true, selector: #selector (NSString.localizedCompare (_ :))) –
@JosephAstrahan: Dzięki, zaktualizowany! –