数组的排序

//1.数组对字符串的排序

//不可变数组

NSArray *arr=@[@"sunxiang",@"liyang",@"wangye",@"dage",@"chengyang"];

  //SEL是方法选择器,它是方法选择器的类型

    NSArray *newarr=[arr sortedArrayUsingSelector:@selector(compare:)];

    NSLog(@"%@",arr);

    NSLog(@"%@",newarr);

//2.可变数组

    NSMutableArray *arr=[NSMutableArray arrayWithObjects:@"sunxiang",@"liyang",@"wangye",@"dage",@"chengyang", nil];

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

    NSLog(@"%@",arr);

//3.对对象进行排序

   Person *per1=[Person BaseModelWithName:@"sunxiang" sex:@"nan"];

    Person *per2=[Person BaseModelWithName:@"dage" sex:@"nv"];

    Person *per3=[Person BaseModelWithName:@"wangye" sex:@"nan"];

    Person *per4=[Person BaseModelWithName:@"liyang" sex:@"nan"];

  //用字面量创建对象和便利构造器创建是一样的

    NSArray *arr=@[per1,per2,per3,per4];

    //以学生的姓名作为排序的依据

    NSArray *newArr= [arr sortedArrayUsingComparator:^NSComparisonResult(Person * obj1, Person * obj2) {

//-[obi1.name compare: obj2.name]降序


[obj1.name compare: obj2.name];

               return [obj1.name compare:obj2.name];

            }];

    

            for (Person *per in newArr) {

                NSLog(@"%@",per.name);

            }


//4.

NSMutableArray *marr=[NSMutableArray arrayWithObjects:per1,per2,per3,per4, nil];

    [marr sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {

        Person *per11=(Person *)obj1;

        Person *per22=(Person *)obj2;

        return [per11.name compare:per22.name];

        

    }];

    

    for (Person *per in marr) {

        NSLog(@"%@",per.name);

    }





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值