如何在目标C中对NSMutableArray进行sorting
我正在计时器应用程序工作。 我有一个数组,我想按排列顺序对数组进行sorting。 假设我有像10,100,50,30,70这样的数组中的5个元素。
我想像10,30,50,70,100arrays。
NSArray *sortedArray = [unsortedArray sortedArrayUsingComparator:^(id firstObject, id secondObject) { return [((NSString *)firstObject) compare:((NSString *)secondObject) options:NSNumericSearch]; }];
编辑:如果元素是数字,请更改返回的types和firstObject和secondObject的types。
从苹果的文档
NSArray *sortedArray = [array sortedArrayUsingComparator: ^(id obj1, id obj2) { if ([obj1 integerValue] > [obj2 integerValue]) { return (NSComparisonResult)NSOrderedDescending; } if ([obj1 integerValue] < [obj2 integerValue]) { return (NSComparisonResult)NSOrderedAscending; } return (NSComparisonResult)NSOrderedSame; }];
使用sortedArrayUsingComparator
NSArray *arr = @[@3, @2, @6, @1]; NSArray *sorted = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { if ([obj1 intValue] < [obj2 intValue]) return NSOrderedAscending; else return NSOrderedDescending; }];
NSArray * arr=[[NSArray alloc]initWithObjects:[NSNumber numberWithInt:10],[NSNumber numberWithInt:100],[NSNumber numberWithInt:50],[NSNumber numberWithInt:30],[NSNumber numberWithInt:70], nil]; NSLog(@"Before sorting%@",arr); arr = [arr sortedArrayUsingSelector:@selector(compare:)]; NSLog(@"After sorting%@",arr);
NSSortDescriptor *aSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"sort" ascending:YES comparator:^(id obj1, id obj2) { if ([obj1 integerValue] > [obj2 integerValue]) { return (NSComparisonResult)NSOrderedDescending; } if ([obj1 integerValue] < [obj2 integerValue]) { return (NSComparisonResult)NSOrderedAscending; } return (NSComparisonResult)NSOrderedSame; }]; self.myList = [NSMutableArray arrayWithArray:[unsortedList sortedArrayUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]]];
使用这个代码:
NSArray *sortedArray = [unsortedArray sortedArrayUsingComparator:^(id firstObject, id secondObject) { return [((NSString *)firstObject) compare:((NSString *)secondObject) options:NSNumericSearch]; }];
编辑:如果元素是数字,请更改返回的types和firstObject和secondObject的types。