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

Posted

技术标签:

【中文标题】如何通过 NSDate 属性对 NSMangedObjects 进行排序【英文标题】:how to sort NSMangedObjects by its NSDate attributes 【发布时间】:2012-01-27 08:57:29 【问题描述】:

问题很简短:

我有一些 NSManagedObjects 的数组,

它们都有一个 NSDate 属性

现在我想按日期对这个数组进行排序,最新的第一个,

如何实现?

【问题讨论】:

【参考方案1】:

您想将 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;

【讨论】:

以上是关于如何通过 NSDate 属性对 NSMangedObjects 进行排序的主要内容,如果未能解决你的问题,请参考以下文章