Я хочу сортировать массив с именами пользователей, которые я извлекаю из своих основных данных. Я получить его, как это:Swift - Сортировка массива, полученного из данных ядра
override func viewDidAppear(animated: Bool) {
let appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate
let context:NSManagedObjectContext = appDel.managedObjectContext!
let freq = NSFetchRequest(entityName: "User")
let en = NSEntityDescription.entityForName("User", inManagedObjectContext: context)
myList = context.executeFetchRequest(freq, error: nil)!
tv.reloadData()
}
А позже я поставил клетки в моем Tableview так:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let CellID:NSString = "cell"
var cell: UITableViewCell = self.tv.dequeueReusableCellWithIdentifier(CellID) as UITableViewCell
if let ip = indexPath as Optional {
var data:NSManagedObject = myList[ip.row] as NSManagedObject
cell.textLabel!.text = data.valueForKeyPath("username") as String!
}
Я пытался использовать функцию сортировки для в функции viewDidAppear так:
var sortedList = myList.sorted { $0.localizedCaseInsensitiveCompare($1) == NSComparisonResult.OrderedAscending }
Но это дает мне ошибку говоря: «не удалось найти член" localizedCaseInsensitiveCompare»
Любые предложения о том, как действовать, будут оценены.
Почему бы не просто добавить sortDescriptor в запрос на выборку? – Abizern