0

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

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

我在 NSMutableArray 中有10000 个类似上述结构的对象。如何排序这个数组,以便位置按 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];

4

1 回答 1

1

这就是我使用的:

NSSortDescriptor *lowToHigh = [[NSSortDescriptor alloc] initWithKey:@"distance"
                                              ascending:YES];
NSArray *mySortDescriptors = [NSArray arrayWithObject:lowToHigh];
NSArray *sortedArray = [locationArray sortedArrayUsingDescriptors:mySortDescriptors];
于 2012-06-27T15:14:48.007 回答