使用NSSortDescriptor以反向时间顺序对CoreData进行排序

时间:2014-12-14 16:15:38

标签: ios core-data swift

我有一个使用tableview设置的Core Data数据库,我试图将其设置在表视图中显示的对象以反向时间顺序显示的位置。我试图用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()

    }

1 个答案:

答案 0 :(得分:7)

在您的NSDate类型的实体中设置日期属性,然后将此属性设置为您的排序描述符并将其设置为递增为false。

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