如何通过 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 日期将 NSArray 拆分为 NSDictionary?