【问题标题】:Sort an array of NSDictionary based on dates [duplicate]根据日期对 NSDictionary 数组进行排序[重复]
【发布时间】:2013-02-25 18:27:27
【问题描述】:

我正在寻找一种方法来根据字典中包含的日期对字典的NSMutableArray 进行排序。每个看起来像这样:

{
  name: tom, 
  surname: smith, 
  date of birth (NSDate): 2013-02-21 15:25:27
}

我知道 earlierDate 等方法,但由于它们只比较两个日期,我只是有点卡在如何遍历数组以便得到一个完全有序的字典数组?

【问题讨论】:

  • 不,需要按日期排序,而不是按key上的升序
  • 您阅读答案了吗?尝试什么?
  • 你读过 NSArray 的规范吗??????有几种排序例程可以调整来执行此操作。

标签: objective-c cocoa-touch nsarray nsdate nsdictionary


【解决方案1】:

使用sortUsingComparator可以轻松解决:

[yourArray sortUsingComparator:^NSComparisonResult(NSDictionary *a, NSDictionary *b) {
   return [a[@"dateOfBirth"] compare:b[@"dateOfBirth"]];
}];

【讨论】:

  • 为什么这被否决了?对于NSMutableArray 的字典,这是一种可行的方法,其中字典的键为@"dateOfBirth"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-31
  • 2022-09-23
  • 2015-02-25
相关资源
最近更新 更多