时间:2015-06-24 来源:

Objective-C----Block、数组排序 【编程语言】

直接上代码:

//写?一个 返回值为整型 参数为NSString(仅?一个参
//    数)的block,实现将字符串转换为整型的功能.

//    int (NSString *string) {
//        return [string intValue] ;
//    }

//  把^int (NSString *string)赋值给int (^myBlock)(NSString *)
//    ^int (NSString *string)是一个参数为NSString *类型、返回值为int类型的匿名函数
//    可定义在main()函数外面
//    block的数据类型代表了匿名函数的格式(返回值类型,承接网页制作形参类型)
//    block变量的定义与函数指针变量的定义类似,html静态页面制作唯一区别于函数指针变量的是变量名前通过脱字符‘ ^ ’修饰.
//    首先应该用 ^ 修饰,网站div+css剩余的部分与C语言函数定义一致符合w3c标准,最大的不同就是没有函数名(同时返回值类型也可以省略)
//    block变量在定义时具有变量定义的基本特征,手机html制作赋值号右侧的匿名函数可以当做一个整体被赋值网页外包接活,类似于 int a = 5 ;
//    block变量所赋值的值是匿名函数,网页外包接活又兼具函数的特征web前端制作,并且是唯一可以定义在某个函数实现内部的(C语言中认为函数是不能嵌套定义的,div+css制作block是个特例)
    int (^myBlock)(NSString *) = ^int (NSString *string) {
        return [string intValue] ;
    } ;
    NSLog( @"%d", int ) = ^( int number1, int ) = ^int ( int number1, sumBlock( sumBlock( 1, sumBlock( 3, 4 ) ) ) ;

//    类比函数指针的类型定义,web前端制作格式与函数指针一致承接网页制作, int ) ;
    BlockType sum = ^int ( int n, sum( 2, count ) ;
        }
    } ;
//    __block int count = 8 ;
//    NSLog( @"%d", NSString *) = ^(NSString * str1, comareResult( @"456", @3, @5, resultArray1 ) ;

    __block int number = 0 ;
    NSComparator sortBlock = ^( id obj1, number ) ;//先执行

    NSArray *resultArray2 = [array sortedArrayUsingComparator:sortBlock] ;
    NSLog( @"%d", resultArray2 ) ;

    //也可以这么写

    //NSArray *resultArray3 = [array sortedArrayUsingComparator:^(id obj1, id obj2) {
        return [obj2 compare:obj1] ;
    }] ;
    NSLog( @"%@", stu2, nil] ;

    NSLog( @"%@", id obj2) {
        return [[obj1 getName] compare:[obj2 getName]] ;
    }] ) ;

    NSLog( @"%@", id obj2) {
        return [[NSString stringWithFormat:@"%d", [obj2 getNumber]]] ;
    }] ) ;

    NSLog( @"%@", id obj2) {
        return [[NSString stringWithFormat:@"%d", [obj2 getAge]]] ;
    }] ) ;


    NSMutableArray *stus = [NSMutableArray array] ;
    NSArray *names = @[@"Duke", @"Allen", @"Lucy", @"Rose", @"Tom", stus ) ;


    //注意:区别:[strArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {

//        return [[obj1 getName] compare:[obj2 getName]] ;

        NSInteger age1 = [obj1 getAge] ;
        NSInteger age2 = [obj2 getAge] ;
        if (age1 < age2) {
            return NSOrderedDescending ;
        }
        else if (age1 > age2) {
            return NSOrderedAscending ;
        }
        return NSOrderedSame ;
    }]  ;
    NSLog(@"%@", _name , _age ] ;
}


@end // Student
点击次数:6775
作者:
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日java合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序算法的描述2014年01月30日leetCode(41):ConvertSortedArraytoBinarySearchTree【编程语言】2015年07月20日(二).细说Kalman滤波:TheKalmanFilter2016年10月26日WPFDataBinding之指定源(Source)的几种方法【三】 【编程语言】2015年04月07日hdu1711NumberSequence(kmp)【移动开发】2015年07月20日C语言之函数调用14—递归法打印勒让德多项式前N项 【移动开发】2015年07月29日Dubbo框架应用之(一)--服务体系【编程语言】2015年06月29日HTML5游戏实战(1):50行代码实现正面跑酷游戏 【互联网】2014年11月24日在虚拟机的Ubuntu的eclipse里面装pydev(各种问题解决方案) 【编程语言】2015年01月04日win10Hyper-V虚拟机装boot2docker 【架构设计】2015年05月06日技术与经济之三:关于股票市场 【研发管理】2015年07月28日前台JS(type=‘file’)读取本地文件的内容,兼容各种浏览器二 【互联网】2014年12月16日Fedora24Linux系统将于6月14日正式发布 ,,2016年07月24日信息收集工具theHarvester2.1发布 ,,2016年06月29日使用Fireworks绘制网页虚线2014年01月28日高级容器引擎Dockerv1.12.0-rc3发布 ,,2016年07月24日D3.js总体展示篇 【数据库】2014年11月04日Python学习笔记(三) 【编程语言】2014年11月12日不包含适合于入口点的静态“Main”方法 【架构设计】2015年05月18日Shell脚本定时备份清除运行系统日志的代码2014年01月29日Thread.join()详解 【编程语言】2015年05月05日c++中的向量vector 【编程语言】2015年02月09日第15周上机实践项目2——阅读程序(1) 【综合】2014年12月04日构造函数【编程语言】2015年07月10日eclipse运行MapReduce程序错误异常汇总(解决Mapnotfount) 【互联网】2015年08月24日检测屏幕分辨率2014年01月29日嵌套JSON数据自动回写HTML网页 【移动开发】2015年05月28日jQuery表单验证扩展代码(二)2014年01月29日SUSELinux源码编译安装MySQL5.6【移动开发】2015年07月24日@RunWith(Parameterized.class)和@RunWith(SpringJUnit4ClassRunner.class)【互联网】2015年01月09日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)