2014-12-14 2 views
2

У меня есть база данных Core Data, настроенная с помощью tableview, и я пытаюсь настроить ее там, где объекты, отображаемые в представлении таблицы, отображаются в обратном хронологическом порядке. Я пытаюсь сделать это с помощью NSSortDescriptor, но не могу понять, как заказать его в обратном хронологическом порядке. Есть идеи? Благодарю.Сортировка CoreData в обратном хронологическом порядке с помощью NSSortDescriptor

Вот мой код:

func getCoreData(){ 

     var appDel : AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate 
     var context : NSManagedObjectContext = appDel.managedObjectContext! 
     var req : NSFetchRequest = NSFetchRequest(entityName: "KeptQuotes") 

     var s = NSSortDescriptor(key: "quote", ascending: true) 
     req.sortDescriptors = [s] 

     var error : NSError? 

     let fetchedResults = context.executeFetchRequest(req, error: &error) as [NSManagedObject]? 


     if let results = fetchedResults { 

      keptQuotes = results 

     }else{ 

      println("Could not fetch \(error), \(error!.userInfo)") 

     } 

     tableView.reloadData() 

    } 

ответ

6

Setup атрибут даты в вашей организации типа NSDate, а затем установить этот атрибут в дескрипторе сортировки и установить восходящий к ложным.

let sortDescriptor = NSSortDescriptor(key: "date", ascending: false) 
fetchRequest.sortDescriptors = [sortDescriptor] 
+0

Есть ли способ сделать это без установки даты? – mlevi

+0

Вы должны предоставить ему некоторый атрибут для сортировки и, похоже, атрибут даты будет соответствовать данным, которые вы обрабатываете. – Ian

+0

Aha, что произойдет с объектами, у которых нет добавленного объекта даты, - будут ли они быть оставленными из таблицы или просто отправлен обратно? – mlevi

Смежные вопросы