如何通过 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 进行排序的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 NSDate 输入对表格视图进行排序(格式化为 MMM yyyy)

通过 NSDate 对象属性进行 Swift 过滤

如何通过数组对象的 NSDate 日期将 NSArray 拆分为 NSDictionary?

通过 NSDate 对元素进行排序并添加到 UITableView

如何对实体的自定义属性进行谓词

如何在 Realm 中通过 NSDate 属性正确查询对象?