数组排序

参考:http://blog.csdn.net/u010828718/article/details/51202624
1.sortedArrayUsingComparator这个方法本身就是按递增的方式排序。
2.返回的返回值(NSOrderedAscending 不交换,NSOrderedSame 不交换,NSOrderedDescending 交换)。
例如:object1 < object2 返回:NSOrderedDescending 则交换(变为object2,object1),以保证安方法本身升序。返回NSOrderedAscending,两者不交换。

NSArray *tMlist = @[@4,@5,@2,@6,@3,@7,@8];
NSArray *tMlist2 = @[@"h4",@"h5",@"h2",@"h6",@"h3",@"h7",@"h8"];
//升序1
NSArray *tArray1_1 = [tMlist sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        NSNumber *tNumber1 = (NSNumber *)obj1;
        NSNumber *tNumber2 = (NSNumber *)obj2;
        if ([tNumber1 integerValue] < [tNumber2 integerValue]) {
            return NSOrderedDescending;
        }
        if ([tNumber1 integerValue] > [tNumber2 integerValue]) {
            return NSOrderedAscending;
        }
        return NSOrderedDescending;
    }];
//升序2
NSArray *tArray1_2 = [tMlist2 sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        return [obj1 compare:obj2 options:NSNumericSearch];
    }];
    
//降序
NSArray *tArray2 = [tMlist sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        NSNumber *tNumber1 = (NSNumber *)obj1;
        NSNumber *tNumber2 = (NSNumber *)obj2;
        if ([tNumber1 integerValue] < [tNumber2 integerValue]) {
            return NSOrderedAscending;
        }
        if ([tNumber1 integerValue] > [tNumber2 integerValue]) {
            return NSOrderedDescending;
        }
        return NSOrderedDescending;
    }];

//倒序
NSArray *tArray3 = [tMlist sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        return NSOrderedDescending;
    }];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容