Block 学习

block 构成部分

^(参数列){行为主体};           例如:^(int a) {return a*a};

block Pointer

回传值(^名字)(参数列);

int (^ square ) (int) ;


以上是一个bool型的变量

//定义一个bool类型的block变量;

BOOL(^isInputEven)(int) = ^(intinput){

if(input%2==0) {

returnYES;

}else{

returnNO;

}

};

//调用block

NSString*number = isInputEven(index) ?@"is an even":@"is not even";

NSLog(@"-----%@",number);//应该输出 is not even

//block外的price能在block内部使用

floatprice =1.99;

float(^finalPrice)(int) = ^(intquantity){

//在block内的price是readonly的

returnquantity * price;

};

intorderQuantity =10;

floatfinal = finalPrice(orderQuantity);

NSLog(@"final--------%f",final);

讲局部变量声明为__block,表示外部变化将在block内进行同样操作,比如:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Block 让我们先来了解下Block是怎么定义的:返回值类型(^block变量名)(形参列表) = ^(形参列表...
    Zz橙淞阅读 3,321评论 1 1
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,358评论 0 33
  • block学习 根据网上的block各种大神的资料,加入自己的理解。 一、初识block 1. block作用 b...
    Medivh阅读 5,062评论 0 50
  • 你曾经说过一句话让我下意识里觉着害怕。那天晚上,你背对我我,突然说了这么一句话,你说:“我觉得我以后会走在你...
    伊雪112阅读 1,697评论 0 0
  • 趁着假期,带着妻儿去香港玩。 2015年的夏天我就已经去过香港。那次是跟着旅行团,诸多限制,走马观...
    旅行的瓶子阅读 1,823评论 6 2

友情链接更多精彩内容