NSSortDescriptor在对象中有一个数组

时间:2014-09-12 10:22:44

标签: ios sorting nsmutablearray nssortdescriptor

我想用一个存储在对象数组中的值对NSMutableArray进行排序:)

为了更好地概述,我已经包含了Array。我想按时间排序(starttijd)

使用NSSortDescriptor我设法按状态网址排序,但不是按时间排序。

这是我目前的排序代码:

  

NSSortDescriptor * sortDescriptor;           sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@“starttuhd”                                                        升序:YES];           NSArray * sortDescriptors = [NSArray arrayWithObject:sortDescriptor];

    sortedarray = [alleitems sortedArrayUsingDescriptors:sortDescriptors];
    NSLog(@"Sorted array: %@", sortedarray);

The array

1 个答案:

答案 0 :(得分:0)

首先,如果数组中只有1 starttijd,那为什么它是一个数组?

无论如何,你可以试试这个:

NSSortDescriptor *sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"@max.starttuhd" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
sortedarray = [alleitems sortedArrayUsingDescriptors:sortDescriptors];
NSLog(@"Sorted array: %@", sortedarray);

基本上,@max是KVC集合运算符之一。由于它可以解析为数组中的单个元素,因此可以正常工作。