排序NSMutableArray没有键的多个对象

时间:2012-06-27 15:08:57

标签: objective-c sorting nsmutablearray

我有一个NSMutableArray对象,下面是struct:

//object at index i
locations {
   NSString* address;
   NSString* state;
   NSNumber* distance;
}

我有 10000 对象,就像NSMutableArray中的上述结构一样。 如何按照NSNumber距离对这个数组进行排序以使位置按顺序排列?

我试过了:

lowToHigh = [NSSortDescriptor sortDescriptorWithKey:@"distance" ascending:YES];
[locationArray sortUsingDescriptors:[NSArray arrayWithObject:lowToHigh]];

正在使用sortDescriptorWithKey:@"distance"错误?因为距离实际上不是一个关键,它是NSNumber *距离。

在我的标题@property (strong, nonatomic)NSNumber* _distance;中编辑,然后在我的方法文件中编辑@synthesize _distance = distance;,但这是在locationObjects。*对象类中。然后我在我当前的类中导入这个我正在进行这种排序。这是一个问题吗? 我的导入方式是locationObjects* locObj = [[locationObjects alloc] init];

1 个答案:

答案 0 :(得分:1)

这就是我使用的:

NSSortDescriptor *lowToHigh = [[NSSortDescriptor alloc] initWithKey:@"distance"
                                              ascending:YES];
NSArray *mySortDescriptors = [NSArray arrayWithObject:lowToHigh];
NSArray *sortedArray = [locationArray sortedArrayUsingDescriptors:mySortDescriptors];