NSComparisonResult和NSComparator

typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);

  1. ^表示一个块类型,在概念上与函数指针类似。

typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);
// ^ ^ ^
// return type of block type name arguments

该类型NSComparator是一个块,取入类型的两个对象id所谓obj1和obj2,并返回一个NSComparisonResult。 特别是NSComparator在基础数据类型引用的定义。 并了解更多关于C块,看看这个文章的ADC模块编程主题。 例如:

NSComparator compareStuff = ^(id obj1, id obj2) {
return NSOrderedSame;
};
NSComparisonResult compResult = compareStuff(someObject, someOtherObject);

2.“这怎么不是一个函数指针有什么不同?”:
1)块是不是一个函数指针。块是苹果的作为在如何使函数一等公民在C / C ++/ Objective-C的。这是新的iOS 4.0。
2)为什么要引入这个陌生的概念?原来,在不少情况下一流的函数 CodeGo.net,例如管理工作,可以并行执行,如在大中央调度块。超越GCD,理论是足够重要的,有围绕它的整个软件系统。lisp是优先个。
3)你会看到这个概念在许多其他语言,而是由不同的,例如微软。Net有lambda表达式和委托(没有联系到Objective-C的代表),而最通用的大概函数或优先类函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值