Objective-C----快速枚举、数组排序

直接上代码:

        /*
         *  快速枚举
         *
         */
        NSLog( @"++++++++++++++++++" ) ;

        NSArray *testArray = @[@1, @2, @3, @4, @5] ;
        //通过快速枚举来遍历数组元素
        for (NSArray *object in testArray) {
            NSLog( @"%@", object ) ;
        }
        //不确定类型时用 id
        for ( id object in testArray ) {
            NSLog( @"%@", object ) ;
        }

        //快速遍历集合
        for ( id object in set1 ) {
            NSLog( @"%@", object ) ;
        }

        //快速遍历字典(得到的是字典的键)
        //直接遍历字典得到的是字典的每一个键,可以通过遍历得到的键去获取对应的值
        for ( id object in dic1 ) {
            NSLog( @"%@", object ) ;
        }
        //dic1[key]可得到对应value,这是一个语法糖,相当于[dic1 objectForKey:key]
        for ( NSString *key in dic1) {
            NSLog( @"dictionary[%@]:%@", key, dic1[key] ) ;
        }

        /*
         *  数组排序
         *
         */

        //注意初始化数组时,所有数组元素对象的类型相同,如下会出错:@[@1, @2, @"5", @3, @4]
        NSArray *array1 = @[@1, @2, @5, @3, @4] ;
        //使用数组排序方法对数组进行升序排序
        NSArray *resultArray = [array1 sortedArrayUsingSelector:@selector(compare:)] ;
        NSLog( @"%@", resultArray ) ;

        Student *stu1 = [Student studentWithName:@"wang" score:@85] ;
        Student *stu2 = [Student studentWithName:@"zhen" score:@95] ;
        Student *stu3 = [Student studentWithName:@"gang" score:@65] ;
        NSMutableArray *stus = [NSMutableArray array] ;
        [stus addObject:stu1] ;
        [stus addObject:stu2] ;
        [stus addObject:stu3] ;

        [stus sortedArrayUsingSelector:@selector(scoreAscending:)] ;
        NSLog( @"%@", stus ) ;
        [stus sortedArrayUsingSelector:@selector(scoreDescending:)] ;
        NSLog( @"%@", stus ) ;
        [stus sortedArrayUsingSelector:@selector(nameAscending:)] ;
        NSLog( @"%@", stus ) ;
        [stus sortedArrayUsingSelector:@selector(nameDescending:)] ;
        NSLog( @"%@", stus ) ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值