我有一个使用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()
}
答案 0 :(得分:7)
在您的NSDate类型的实体中设置日期属性,然后将此属性设置为您的排序描述符并将其设置为递增为false。
let sortDescriptor = NSSortDescriptor(key: "date", ascending: false)
fetchRequest.sortDescriptors = [sortDescriptor]