按日期 属性 对 NSMutableArray 中的 NSMutableArray 进行排序
Sort an NSMutableArray within an NSMutableArray by date property
我有一个 NSMutableArray,它有一个内部 NSMutableArray,我想在内部 NSMutableArray 中按日期 属性 对它进行排序(对外部项目排序)。
The array looks like this
[
{
messages : [
{
date
},
..... etc
]
},
..... etc
]
下面的代码是我抛出异常的尝试
NSSortDescriptor *sdSortDate = [NSSortDescriptor sortDescriptorWithKey:@"messages.@lastObject.date" 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.'
关于如何做到这一点有什么想法吗?
您应该使用 messages.date.@lastObject
而不是 messages.@lastObject.date
。试试下面的代码
NSSortDescriptor *sdSortDate = [NSSortDescriptor sortDescriptorWithKey:@"messages.date.@lastObject" ascending:YES];
events = [NSMutableArray arrayWithArray:[events sortedArrayUsingDescriptors:@[sdSortDate]]];
我有一个 NSMutableArray,它有一个内部 NSMutableArray,我想在内部 NSMutableArray 中按日期 属性 对它进行排序(对外部项目排序)。
The array looks like this
[
{
messages : [
{
date
},
..... etc
]
},
..... etc
]
下面的代码是我抛出异常的尝试
NSSortDescriptor *sdSortDate = [NSSortDescriptor sortDescriptorWithKey:@"messages.@lastObject.date" 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.'
关于如何做到这一点有什么想法吗?
您应该使用 messages.date.@lastObject
而不是 messages.@lastObject.date
。试试下面的代码
NSSortDescriptor *sdSortDate = [NSSortDescriptor sortDescriptorWithKey:@"messages.date.@lastObject" ascending:YES];
events = [NSMutableArray arrayWithArray:[events sortedArrayUsingDescriptors:@[sdSortDate]]];