29,028
社区成员
发帖
与我相关
我的任务
分享
NSString *str = @"a1 b2 a22 a11 a21 c10 a23 a33 a30 a31 a32";
NSArray *originArray = [str componentsSeparatedByString:@" "];
NSMutableArray *numAr = [[NSMutableArray alloc] initWithCapacity:originArray.count];
[originArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSString *s = (NSString *)obj;
NSString *subs = [s substringFromIndex:1];
NSDictionary *dict =@{@"index":[@(idx) stringValue],@"value":@([subs intValue])};
[numAr addObject:dict];
}];
NSSortDescriptor *sorter = [[NSSortDescriptor alloc] initWithKey:@"value" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:&sorter count:1];
NSArray *tempArray = [numAr sortedArrayUsingDescriptors:sortDescriptors];
NSMutableArray *sortedArray = [[NSMutableArray alloc] initWithCapacity:originArray.count];
[tempArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSDictionary *dict = (NSDictionary *)obj;
int index = [dict[@"index"] intValue];
NSString *str = originArray[index];
[sortedArray addObject:str];
}];
NSLog(@"%@",sortedArray);
运行结果:
2016-10-09 23:38:35.594 temp[19198:244055] (
a1,
b2,
c10,
a11,
a21,
a22,
a23,
a30,
a31,
a32,
a33
)