如何通过NSDate属性对NSMangedObjects进行排序

时间:2012-01-27 08:57:30

标签: sorting nsdate nsmanagedobject

问题很简短:

我有一些NSManagedObjects的数组,

所有这些都有一个NSDate属性

现在我想按照他们的日期排序,最新的第一个,

怎么可以实现呢?

1 个答案:

答案 0 :(得分:2)

您希望将NSArray的sortedArrayUsingDescriptors:方法与NSSortDescriptor一起使用。如果您的数组被称为array并且NSDate属性被称为date,那么这将起作用:

NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"date" ascending:NO]];
NSArray *sortedArray = [array sortedArrayUsingDescriptors:sortDescriptors];

另外,请注意,当您使用NSFetchRequest获取这些NSManagedObject时,您可以给请求sortDescriptors,以便它们已经排序。使用上面的相同sortDescriptors,在执行请求之前,请执行以下操作:

request.sortDescriptors = sortDescriptors;