排序 遍历

排序 遍历

#import <Foundation/Foundation.h>

 

int main(int argc, const char * argv[]) {

    @autoreleasepool {

      

        //字符串排序

        NSArray *arr=@[@”234″,@”123″,@”345″];

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

        NSLog(@”%@”,s);

        

        //描述器排序

        NSSortDescriptor  *s1=[NSSortDescriptorsortDescriptorWithKey:@”对象的属性ascending:NO];//yes是升序,no降序

        NSArray *arr1=@[s1];//arr1中可以放多个排序要求,在前的要先排(前主后次)

        NSArray *arr2=[arr1 sortedArrayUsingDescriptors:arr1];

        

        

        //自定义对象排序

        -(NSComparisonResult) compareWithage:(Student *) stu

        {

            NSComparisonResult result =[[NSNumber numberWithint:self.age] Component:[NSNumber numberWithint:stu.age]];//self在前为升序,在后为降序

               return  result ;

        }

        

        //block(代码块)排序

        NSArray *sortArr2 = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {

            return [obj1 compare:obj2];}];//根据比较结果,如果结果是1,则交换

    }

    return 0;

 

}

   //排序数组中对象的属性

        NSArray *arr=@[s1,s2,s3,s4];

        

        NSArray *sortArr = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {

            NSComparisonResult result = [[obj1 name] compare: [obj2 name]];

            

            return result;

        }];

        NSLog(@”%@”,sortArr); 

 

#import <Foundation/Foundation.h>

 

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        

         NSArray *arr=@[@”123″,@”abc”,@”456″,@”def”];

        for (int i=0; i<arr.count; i++) {

            NSLog(@”%@”,arr[i]);

        }

        

        //快速遍历

        for(id obj in arr) {

            NSLog(@”–%@”,obj);

        }

        

        //使用枚举器进行遍历

        NSEnumerator *e = [arr objectEnumerator];//获取数组所有元素的枚举器

        

        NSString *obj;

        //[e nestObject];第一次遍历,nextObject指向数组的首元素,当取值结束以后,再指向下一个元素,指导取万最后一个元素,此时,nextObject指向null,值为0,结束遍历

        while (obj = [e nextObject]) {

             NSLog(@”–>%@”,obj);

        }

    }

    return 0;

 

}

 

转载于:https://www.cnblogs.com/lcl15/p/4918327.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109276.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • centos7重启apache、nginx、mysql、php-fpm命令

    centos7重启apache、nginx、mysql、php-fpm命令

    2021年10月19日
  • 树莓派连接WiFi(最稳定的方法

    树莓派连接WiFi(最稳定的方法转载:https://i.cmgine.net/archives/11053.html概述树莓派是一个只有信用卡大小的卡片式电脑,基于ARM架构,采用Linux作为其操作系统;它默认是通过有线接口连接互联网,对于如此小巧的设备,有线连接非常不方便,下面我们介绍下如何让树莓派通过无线网卡连接网络。网上大多数文章介绍的是编辑  /etc/network/inte

  • 服务端稳定性测试_web端性能测试怎么做

    服务端稳定性测试_web端性能测试怎么做1概述1.1背景系统的稳定性是系统长期稳定运行能力,需要时间累积才能度量。平台的某些问题需要达到一定时间、一定的使用量后才会暴露出来。如内存泄漏,系统运行过程中发现部分服务的部分接口会发生服务不可达的情况。从而团队提出对平台进行稳定性分析,通过给系统施加一定业务压力大情况下,使系统持续运行一段时间,以此来检测系统是否稳定运行(下统称稳定性测试或测试)。1.2服务说明平台运行的服务包括系统服务和业务服务,系统服务包括Consul、Redis、Cap、RabbitMQ、Exceptionless

  • linux搭建sendmail邮件服务器,Linux系统Sendmail架设Mail服务器[通俗易懂]

    一、安装Sendmail完全安装RedHatLinux9.0时,Sendmail就会自动内置,版本号为8.12.8-4.如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查看:[root@ahpengroot]rpm–qa grepsendmail如果确定没有安装,请在图形界面下依次选择单击“主菜单-系统设置-添加删除应用程序”,然后在打开的“软件包管理”窗口里选…

  • 飞猪双11挑战_天猫双十一晚会极限挑战

    飞猪双11挑战_天猫双十一晚会极限挑战摘要: EagleEye作为阿里集团老牌的链路跟踪系统,其自身业务虽不在交易链路上,但却监控着全集团的链路状态,特别是在中间件的远程调用上,覆盖了集团绝大部分的场景,在问题排查和定位上发挥着巨大的作用,保障了各个系统的稳定性,为整个技术团队打赢这场战役保驾护航。作者:王华锋(水彧)背景双十一一直是阿里巴巴集团每年要打的一场大战役。要打赢这场战役,技术上,不仅仅是几个应用

  • 承包商正在跟上IT的步伐 (美国)

    承包商正在跟上IT的步伐 (美国)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号