在NSMutableArray中按日期属性对NSMutableArray进行排序

问题描述 投票:0回答:1

我有一个NSMutableArray,它有一个内部NSMutableArray,我想通过内部NSMutableArray中的日期属性对其排序(对外部项进行排序)。

The array looks like this
[
  {
     messages : [
     { 
     date
     },
     ..... etc
     ]
  },
..... etc
]

下面的代码是我抛出异常的尝试

NSSortDescriptor *sdSortDate = [NSSortDescriptor sortDescriptorWithKey:@"[email protected]" ascending:YES];
events = [NSMutableArray arrayWithArray:[events sortedArrayUsingDescriptors:@[sdSortDate]]];

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '[<__NSArrayM 0x604000654670> valueForKeyPath:]: this class does not implement the lastObject operation.'

有关如何做到这一点的任何想法?

ios objective-c nsmutablearray nssortdescriptor
1个回答
1
投票

你应该使用messages.date.@lastObject而不是[email protected]。请尝试下面的代码

NSSortDescriptor *sdSortDate = [NSSortDescriptor sortDescriptorWithKey:@"messages.date.@lastObject" ascending:YES];
events = [NSMutableArray arrayWithArray:[events sortedArrayUsingDescriptors:@[sdSortDate]]];
© www.soinside.com 2019 - 2024. All rights reserved.