Sorting 如何按NSMangedObject的NSDate属性对其进行排序

Sorting 如何按NSMangedObject的NSDate属性对其进行排序,sorting,nsdate,nsmanagedobject,Sorting,Nsdate,Nsmanagedobject,问题很简单: 我有一些NSManagedObject数组 它们都具有NSDate属性 现在我想按日期对这批货进行排序,最晚的是第一批 如何实现这一点?您希望使用NSArray的sortedArray使用描述符:方法和NSSortDescriptor。如果您的数组被称为array,而NSDate属性被称为date,那么这将起作用: NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptor

问题很简单:

我有一些NSManagedObject数组

它们都具有NSDate属性

现在我想按日期对这批货进行排序,最晚的是第一批


如何实现这一点?

您希望使用NSArray的
sortedArray使用描述符:
方法和NSSortDescriptor。如果您的数组被称为
array
,而NSDate属性被称为
date
,那么这将起作用:

NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"date" ascending:NO]];
NSArray *sortedArray = [array sortedArrayUsingDescriptors:sortDescriptors];
另外,请注意,当您使用NSFetchRequest获取这些NSManagedObject时,您可以为请求提供SortDescriptor,以便它们已经排序。使用上面相同的
sortDescriptors
,只需在执行请求之前执行以下操作:

request.sortDescriptors = sortDescriptors;