1. <span style="font-size:24px;">为什么要使用block变量呢?

  2. 因为当我们的程序比较繁杂的时候,我们在一个函数中要调用一个函数,还需要在外边来定义,实现,很不方便,但是有了block变量我们就可以在一个函数的内部来定义一个block变量,相当于又在函数的内部来定义了一个函数.

  3. int (^max)(int x,int y) = ^(int x,int y)//求两个数的最大值

  4. {

  5. return x > y ? x :y;

  6. };

  7. NSLog(@"%d",max(5,10));

  8. int (^min)(int x,int y) =^(int x,int y)//求两个数的最小值

  9. {

  10. return x > y ? y : x;

  11. };

  12. NSLog(@"%d",min(5,10));</span>

[cpp] view plaincopy

  1. <pre name="code" class="cpp"><span style="font-size:24px;">其中block变量的类型为:int(^)(int x ,int y);

  2. max 为变量名,一般看函数是什么类型,只需要把函数名去掉然后剩下的就是函数的类型.

  3. ^(int x ,int y)

  4. {

  5. return x + y;

  6. }

  7. 上面的对block变量进行初始化.</span>

[cpp] view plaincopy

  1. <span style="font-size:24px;">当在block内部使用block外部定义的局部变量时,如果变量没有被__block修饰,则在block内部是只读的,不能对它修改,如果想修改,变量前必须要有__block修饰

  2. __block的作用是告诉编译器,在编译时在block内部不要把外部变量当做常量来使用,还是当做变量来使用.

转载于:https://blog.51cto.com/chenhongyi/1540120

Block变量的的用法,使你的程序看起来清晰明了!相关推荐

  1. linux C语言多线程库pthread中条件变量的正确用法逐步详解

    linux C语言多线程库pthread中条件变量的正确用法: 了解pthread常用多线程API和pthread互斥锁,但是对条件变量完全不知道或者不完全了解的人群. 关于条件变量的典型应用,可以参 ...

  2. python legb_Python变量作用域LEGB用法解析

    这篇文章主要介绍了Python变量作用域LEGB用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 闭包就是, 函数内部嵌套函数. 而 装饰器只 ...

  3. python语言变量随时命名随时赋值_Python变量及数据类型用法原理汇总

    变量(Variable)可以看成一个小箱子,专门用来"盛装"程序中的数据.每个变量都拥有独一无二的名字,通过变量的名字就能找到变量中的数据. 从底层看,程序中的数据最终都要放到内存 ...

  4. ..以前似乎用作函数或命令,与其在此处作为变量名称的用法冲突?

    在使用matlab的过程中,中途定义了一个数组变量,名为'ar',这个变量放在循环里面,写成 ar(j)=ar(j-1)+p(j); 的形式,在运行的过程中报错.报错信息为:"ac" ...

  5. 用友常见问题:运行时错误91,未设置变量或with block变量

    [问题现象] 打印凭证.查询明细账,凭证记账时都有可能出现运行时错误91,未设置变量或with block变量? [问题分析] 一般情况下运行时错误91,未设置变量或with block变量?都是由于 ...

  6. python变量详解_Python 变量详解[学习 Python 必备基础知识][看此一篇就够了]

    您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 1 P ...

  7. 安装jdk配置环境、cmd命令行测试环境变量配置是否正确及运行java程序、安装IDEA编写代码测试

    文章目录 1.安装jdk配置环境 2.cmd命令行测试环境变量配置是否正确及运行java程序 3.安装IDEA编写代码测试 1.安装jdk配置环境 首先打开官网Oracle https://www.o ...

  8. AppDelegate文件下各方法的用法:(应用程序挂起、复原与终止)

    AppDelegate文件下各方法的用法:(应用程序挂起.复原与终止):首次运行: - (BOOL)application:(UIApplication *)application didFinish ...

  9. TIA博途中通过关键字AT实现变量覆盖的具体方法及示例程序

    TIA博途中通过关键字AT实现变量覆盖的具体方法及示例程序 通过关键字 "AT" 可覆盖一个 S7-1200/S7-1500 中已声明的变量. 概述 可以在FB和FC的接口参数区进 ...

最新文章

  1. JavaScript重载解读
  2. 华为回应“WIFI联盟撤销会员资格”:不会受个别组织影响
  3. Activiti(一)SpringBoot2集成Activiti6
  4. hantomjs能解析出html源码吗,网页源码是js js跳转后才是源码 怎么用易语言写 不使用超文本 有延时...
  5. Java中的序列问题-2
  6. L1-022. 奇偶分家-PAT团体程序设计天梯赛GPLT
  7. javaweb功能模块如何合理设计_如何合理设计恒温恒湿实验室
  8. android 数组排重方法,js数组去重方法集合 - osc_779ncf3o的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. Linux防火墙iptables学习笔记(四)iptables实现NAT
  10. c语言程序设计谭浩强题库,谭浩强c语言程序设计习题答案
  11. WebEx Recorder
  12. 鱼眼相机矫正,按经纬度展开为环视图
  13. 有些微信朋友,每天喜欢发早安、图片给别人,这些人是什么心理?
  14. 谷粒商城 Day09 首页分类与SpEL动态缓存切面
  15. yolo系列之yolo v3【深度解析】——讲的挺好,原作者厉害的
  16. 爱也可以,飘逸洒脱,卓尔不群
  17. Imaginary number
  18. Java观察者模式事件委托(通过dota和王者荣耀故事讲解)
  19. SOCKET_RAW 手动封装TCP协议
  20. 【自用笔记】 手机号和 身份证号码校验

热门文章

  1. 谈谈“个人电子信息”的保护
  2. 任正非督战:华为强攻公有云业务 竞争残酷
  3. 东芝再曝财务造假丑闻 日企百年老店怎么了?
  4. block用法(转)
  5. Android按钮事件的4种写法
  6. 服务器拒绝连接(The remote system refused the connection.)
  7. JavaMail的体系结构及发送复杂邮件
  8. Kernel PCI总线框架
  9. 防止非法链接(referer)
  10. OX Pattern