• iOS自定义model排序


    在开发过程中,可能需要按照model的某种属性排序。

    1、自定义model

    @interface Person : NSObject
    
    @property (nonatomic,copy) NSString *name;
    
    @property (nonatomic,assign) int age;
    
    @end

    2、创建model对象

           //创建model
            Person *liming = [[Person alloc] init];
            liming.name = @"liming";
            liming.age = 18;
            
            
            Person *zhangjie = [[Person alloc] init];
            zhangjie.name = @"zhangjie";
            zhangjie.age = 20;
            
            Person *liuxin = [[Person alloc] init];
            liuxin.name = @"liuxin";
            liuxin.age = 17;
            
            Person *wanghua = [[Person alloc] init];
            wanghua.name = @"wanghua";
            wanghua.age = 16;
        

    3、创建存储数组

            //创建存储数组
            NSMutableArray *personArray = [NSMutableArray array];
            [personArray addObject:liming];
            [personArray addObject:zhangjie];
            [personArray addObject:liuxin];
            [personArray addObject:wanghua];        

    4、按model年龄属性 排序

            //model 按年龄属性 排序
            NSArray *ageSortResultArray = [personArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
                
                Person *per1 = obj1;
                
                Person *per2 = obj2;
                
                if (per1.age > per2.age) {
                    return NSOrderedDescending;//降序
                }else if (per1.age < per2.age)
                {
                    return NSOrderedAscending;//升序
                }else
                {
                    return NSOrderedSame;//相等
                }
                
            }];    

    5、打印结果

             //打印结果
            for (Person *per in ageSortResultArray) {
                NSLog(@"per.age = %d",per.age);
            }

    6、截图

  • 相关阅读:
    针对图片性能优化的总结
    activityGroup源码分析
    针对BaseAdapter的扩展
    ADB命令介绍
    一个对内存分析的文章。 非常棒。
    hdu 1285 确定比赛名次(很典型的拓扑排序)
    经典排序之归并排序
    hdu 1166 敌兵布阵 (树状数组)
    hdu 3518 Boring counting (后缀数组)
    hdu 3584 Cube(树状数组)
  • 原文地址:https://www.cnblogs.com/jukaiit/p/5910194.html
Copyright © 2020-2023  润新知