我有一个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];
答案 0 :(得分:1)
这就是我使用的:
NSSortDescriptor *lowToHigh = [[NSSortDescriptor alloc] initWithKey:@"distance"
ascending:YES];
NSArray *mySortDescriptors = [NSArray arrayWithObject:lowToHigh];
NSArray *sortedArray = [locationArray sortedArrayUsingDescriptors:mySortDescriptors];