2

可能重复:
如何在目标 c 中对 NSMutableArray 进行排序

我想对包含值 434,34,4,45 的 NSMutablearray 进行排序

我正在使用此代码进行排序:

[arrayfinale sortUsingSelector:@selector(compare:)];

但它返回:

45,4,34,433

但我想要

4,34,45,433

谁能帮我解决这个问题

4

2 回答 2

5

来自苹果的文档

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;
}];
于 2012-08-08T13:35:46.743 回答
3

使用以下代码

   NSArray *unsortedArray = [NSArray arrayWithObjects:@"60", @"4", @"60", @"50", @"12", @"10", @"1", nil];
   NSArray *sortedArray = [unsortedArray sortedArrayUsingComparator:^(id firstObject, id secondObject) {
   return [((NSString *)firstObject) compare:((NSString *)secondObject) options:NSNumericSearch]; }];
   NSLog(@"Array is ::%@",sortedArray);
于 2012-08-08T13:39:44.503 回答