__block 变量

一般来说,在block内只能读取在同一个作用域的变数而且没有办法修改在block外定义的任何变量,此时若我们想要这些变数能够在block中被修改,就必须在前面挂上__block的修饰词,以上面第一个例子中的 multiplier 来说,这个变数在 block 中是唯读的,所以 multiplier = 7 指定完后,在 block 中的 multiplier 就只能是 7 不能修改,若我们在 block 中修改 multiplier ,在编辑时就会产生错误,因此若想要在 block 中修改 multiplier ,就必须在 multiplier 前面加上 __block 的修饰词,请参考下面的范例:

   1: __block int multiplier = 7 ;
   2: int (^myBlock)( int ) = ^( int num)
   3:                         {
   4:                             if (num > 5 )
   5:                             {
   6:                                   multiplier = 7 ;
   7:                             }
   8:                             else
   9:                             {
  10:                                   multiplier = 10 ;
  11:                             }
  12:                             return num * multiplier;
  13:                         };

转:http://www.cnblogs.com/jy578154186/archive/2012/09/30/2709130.html

转载于:https://www.cnblogs.com/ygm900/p/3607520.html

通俗易懂地讲解 __block 变量相关推荐

  1. ev3编程变量模块_英文视频教学翻译-机器人ev3编程学习的第二十讲:举例讲解数据变量模块编...

    机器人ev3编程学习的第二十讲:举例讲解数据变量模块编- Rob Widger (为了容易理解,在原文的翻译时做了修改 by EV3-TOM) 这一节我给大家讲解使用变量模块的编程,这些我喜欢的例子也 ...

  2. 通俗易懂的讲解梯度,散度,旋度

    通俗易懂的讲解梯度,散度,旋度(有图很好理解)!!! 并且会不断连载原创或转载有价值的参数化软件教程返回搜狐,查看更多 声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务.

  3. java自学——java的基本讲解和变量、字符串、运算符的简单介绍

    java自学--java的基本讲解和变量.数组.字符串.运算符的简单介绍 hello world程序 java程序的结构 java语句的组成介绍 关键字 标识符 标识符的命名规则 分隔符 注释符 空白 ...

  4. 编译原理 First集 Follow集 select集 通俗易懂的讲解 + 实例

    #First集Follow集通俗易懂的讲解加实例 ##First 如A->aB | CD 这里面包含了组成First(A)的两种情况: 以终结符开头,当然要把这个终结符(a)放到A的First里 ...

  5. java 注解_通俗易懂的讲解下Java注解

    对于Java注解,我咨询过一些身边的人,很多人表示: 知道怎么用,不熟悉 不知道你是不是这样?在我没有系统性的学习一边注解的时候,我也是如此,在我花时间学习过注解之后,我觉得,对于注解,最重要的在于理 ...

  6. oc 协议 回调 静态成员_ios – 在一个块中,__block变量和静态变量之间的实际区别是什么?...

    出于本答案的目的,假设两个示例都包含在 – (void)useGadgetsOnWidgets {-}中. 假设ARC,您的应用程序是单线程的,并且代码是不可重入的(即useGadgetsOnWidg ...

  7. 最通俗易懂的讲解HTTPS的加密原理【多图、易懂】

    目录 前言 HTTPS加密原理概述 HTTP 为什么不安全 安全通信的四大原则 HTTPS 通信原理 对称加密:HTTPS 的最终加密形式 非对称加密:解决单向的对称密钥的传输问题 数字证书:解决公钥 ...

  8. 通俗易懂的讲解一下量化操作(深度学习模型定点化)

    近几年随着人工智能技术发展,深度学习技术日趋成熟.如果想把已经训练好的模型应用在终端,如手机.车载.耳机.音箱等设备,需要将Python训练的模型转为C语言.此处就不赘述如何把Python模型转C语言 ...

  9. pca图解读_如何通俗易懂地讲解什么是 PCA 主成分分析?

    推荐CrossValidated的人气答主(top 0.11%)amoeba对PCA的解释,目前我见到的最通俗易懂的解释,循序渐进,由浅入深: amoeba设想了一个大家庭聚餐的场景,大家突然对PCA ...

  10. 学妹问单例模式,我用最通俗易懂的讲解让她学会了

    前记 昨天学妹抱怨专业课中的java 23个设计模式.她问:23个设计模式越看越扎心,尤其是单例模式,有没有什么破解之法.我告诉她 java 23个设计模式看上去多,要挑知识重点并结合程序实例来记忆, ...

最新文章

  1. ARouter::Compiler No module name, for more information, look at gradle log
  2. Grub4Dos 安装Ubuntu 收藏
  3. Oracle中rownum用法总结
  4. c语言rotl函数需要什么头文件,_rotl, _crotl, _lrotl
  5. su灯光插件_lightup插件下载|lightup for sketchup下载v4.0中文免费版 附使用教程 - 欧普软件下载...
  6. html优化字体包,『前端开发』- 字体文件大小优化实践
  7. Linux的打开文件表:打开文件表、文件描述符、打开的文件句柄以及i-node之间的关系
  8. java打包文件生成zip压缩包
  9. 2021 年最受欢迎的深度学习软件
  10. youtube-dl 安装和用法
  11. 或是独体字吗_知识:贝是独体字吗什么结构
  12. THINKPADT400安装XP蓝屏
  13. 985 材料专业研究生年薪 20 多万也不少了吧,为什么还有那么多人劝退,转行能挣多少钱?
  14. opencv python 实现图片添加带透明的 logo
  15. wxpython表格怎么分页_Word表格跨页断行如何排版?Word表格换页脱节怎么办?
  16. Opencv各版本汇总下载
  17. three.js 加载obj+mtl模型
  18. 现代信号处理——平稳随机信号通过线性系统
  19. android 模糊组件,动态模糊组件 HokoBlur
  20. 概率统计matlab实验,概率与数理统计matlab实验报告1.doc

热门文章

  1. JVM学习04-垃圾回收概念与算法
  2. k8s学习笔记-Docker篇
  3. JAVA if语句快捷键_java编程基础 第一、第二章
  4. 定义struct出错指针不允许指向不完整类型_Go入门系列(三)复合数据类型
  5. Python进阶(三)单例设计模式
  6. 压缩感知(Compressed sensing)from wiki
  7. PEB标记反调试方法
  8. Outlook中的Notes的链接打不开,提示错误信息“File does not exit”
  9. 使用 IntelliJ IDEA打包Spark应用程序
  10. JAVA之列表集合ArrayList