天天看点

iOS oc可变数组排序方法

1.首先定义可变数组

@property (nonatomic,strong)NSMutableArray * loadAllStylist;

-(NSMutableArray *)loadAllStylist{

    if (!_loadAllStylist) {

        _loadAllStylist = [NSMutableArrayarray];

    }

    return_loadAllStylist;

}

2.数据从数据库加载已转BloggerInfo模型类型

 NSArray* stylists = [ModeDatabasereadDataFromTableName:BLOGGER_INFO_TABLE_NAMEwithConditionDictionary:nilcallbackClass:[NSArrayclass]];

    if ([stylists diffClassArray]) {

        [self.loadAllStylistaddObjectsFromArray:stylists];

3.(重点排序)可变数组调用这个方法排序(默认升序):

[self.loadAllStylistsortUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {

            BloggerInfo* b1 = obj1;

            BloggerInfo* b2 = obj2;

            return [b1.nicknamecompare:b2.nickname options:NSCaseInsensitiveSearch];//大小写不敏感的搜索

        }];

4.一些可选参数 options:

typedef NS_OPTIONS(NSUInteger, NSStringCompareOptions) {

    NSCaseInsensitiveSearch = 1,         //大小写不敏感的搜索

    NSLiteralSearch = 2,

    NSBackwardsSearch = 4,

    NSAnchoredSearch = 8,

    NSNumericSearch = 64,

    NSDiacriticInsensitiveSearch NS_ENUM_AVAILABLE(10_5,2_0) = 128,

    NSWidthInsensitiveSearch NS_ENUM_AVAILABLE(10_5,2_0) = 256,

    NSForcedOrderingSearch NS_ENUM_AVAILABLE(10_5,2_0) = 512,

    NSRegularExpressionSearch NS_ENUM_AVAILABLE(10_7,3_2) = 1024   

};