美文网首页
数组中元素按照一定规则排序NSSortDescriptor简单使

数组中元素按照一定规则排序NSSortDescriptor简单使

作者: 浅y | 来源:发表于2017-03-21 14:38 被阅读34次

数组中元素按照一定规则排序

主要是NSSortDescriptor这个类 代码

NSArray *array = @[@"one", @"two", @"three", @"four", @"six"];
    
    //创建一个排序条件,也就是一个NSSortDescriptor对象
    
    //其中第一个参数为数组中对象要按照什么属性来排序(比如自身、姓名,年龄等)
    
    //第二个参数为指定排序方式是升序还是降序
    
    //ascending  排序的意思,默认为YES 升序
    
    NSSortDescriptor *des = [[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES];
    
    NSArray *newArray = [array sortedArrayUsingDescriptors:@[des]];
    
    NSLog(@"%@",newArray);

多条件排序

Person *p1 = [[Person alloc] initWithName:@"zhonger" age:@"19"];
    Person *p2 = [[Person alloc] initWithName:@"zhubada" age:@"11"];
    Person *p3 = [[Person alloc] initWithName:@"zhubada" age:@"1"];
    Person *p4 = [[Person alloc] initWithName:@"zhubada" age:@"33"];
    Person *p5 = [[Person alloc] initWithName:@"hehehe" age:@"38"];
    NSArray *person = @[p1, p2, p3, p4, p5];
    
    NSSortDescriptor *des1 = [[NSSortDescriptor alloc]initWithKey:@"name" ascending:NO];
    
    NSSortDescriptor *des2 = [[NSSortDescriptor alloc] initWithKey:@"age" ascending:NO];
    // 可以用sortedArrayUsingDescriptors:方法实现把多个排序条件放到数组中,实现多条件排序,按数组先后顺序,先加入的优先级高

    NSArray *newArray1 = [person sortedArrayUsingDescriptors:@[des1,des2]];
    for (Person *p in newArray1) {
        NSLog(@"姓名:%@ , 年龄:%@",p.name,p.age);
        
    }

注意这两个方法 可变数组和不可变数组


Snip20170321_3.png

相关文章

  • 数组中元素按照一定规则排序NSSortDescriptor简单使

    数组中元素按照一定规则排序 主要是NSSortDescriptor这个类 代码 多条件排序 注意这两个方法 可变数...

  • NSMutableArray 自定义对象数组排序

    使用NSSortDescriptor 对数组进行排序 可添加多种排序规则 NSSortDescriptor*des...

  • iOS - 排序: NSSortDescriptor

    排序规则描述类: NSSortDescriptor NSSortDescriptor来指定排序规则, 对集合等进行...

  • NSSortDescriptor数组排序

    NSSortDescriptor可以实现对数组的排序,经常可用于按照首字母进行排序等。 按照升序或者降序,比如@"...

  • 选择排序和冒泡排序

    规则:比较大小,位置交换 选择排序:数组中的每个元素都进行比较 冒泡排序:数组中相邻元素进行比较 选择排序 for...

  • iOS为对象数组排序

    NSSortDescriptor可以根据数组中对象的属性来排序为排序数组的每个属性创建NSSortDescript...

  • ios开发 数组模型排序的集中方法

    数组排序的API分为2中,一种是数组直接调用API排序,另一种根据NSSortDescriptor来排序 //数组...

  • iOS 数组排序

    1、NSSortDescriptor排序 概述: 数组是有序容器,因此集合中只有数组才能排序。该类能够方便的实现对...

  • 2018-04-16数组排序

    数组排序 sort 按照数组值或元素从小到大排列数组 rsort 按照数组值或元素从大到小排列数组(以上两种排序...

  • python技巧积累

    数组逐行替换 生成多维数组,元素随机 dict按照key排序生成list、dict按照value排序生成list 链接

网友评论

      本文标题:数组中元素按照一定规则排序NSSortDescriptor简单使

      本文链接:https://www.haomeiwen.com/subject/mahgnttx.html