【发布时间】:2012-01-27 08:57:29
【问题描述】:
问题很简短:
我有一些 NSManagedObjects 的数组,
它们都有一个 NSDate 属性
现在我想按日期对这个数组进行排序,最新的第一个,
如何实现?
【问题讨论】:
标签: sorting nsdate nsmanagedobject
问题很简短:
我有一些 NSManagedObjects 的数组,
它们都有一个 NSDate 属性
现在我想按日期对这个数组进行排序,最新的第一个,
如何实现?
【问题讨论】:
标签: sorting nsdate nsmanagedobject
您想将 NSArray 的 sortedArrayUsingDescriptors: 方法与 NSSortDescriptor 一起使用。如果您的数组名为 array 并且 NSDate 属性名为 date,那么这将起作用:
NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"date" ascending:NO]];
NSArray *sortedArray = [array sortedArrayUsingDescriptors:sortDescriptors];
另外,请注意,当您使用 NSFetchRequest 获取这些 NSManagedObjects 时,您可以为请求提供 sortDescriptors 以便它们已经排序。使用上面相同的sortDescriptors,在执行请求之前执行以下操作:
request.sortDescriptors = sortDescriptors;
【讨论】: