【代码笔记】iOS-在Block中修改外部变量值的
一,代码。

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// 第一种是可以修改 static 全局变量;第二种是可以修改用新关键字 __block 修饰的变量。
__block int blockLocal = 100;
static int staticLocal = 100;
void (^aBlock)(void) = ^(void){
blockLocal++;
staticLocal++;
};
NSLog(@"----blockLocal--%d",blockLocal);
NSLog(@"---staticLocal--%d",staticLocal);
aBlock();
NSLog(@"----blockLocal--%d",blockLocal);
NSLog(@"---staticLocal--%d",staticLocal);
}

二,输出。
2015-10-23 13:15:30.598 在Block中修改外部变量的值[7561:195731] ----blockLocal--100
2015-10-23 13:15:30.598 在Block中修改外部变量的值[7561:195731] ---staticLocal--100
2015-10-23 13:15:30.598 在Block中修改外部变量的值[7561:195731] ----blockLocal--101
2015-10-23 13:15:30.598 在Block中修改外部变量的值[7561:195731] ---staticLocal--
【代码笔记】iOS-在Block中修改外部变量值的的更多相关文章
- 如何在 block 中修改外部变量
转自:http://www.cnblogs.com/easonoutlook/archive/2012/08/22/2650070.html block 的目的是为了支持并行编程,对于普通的 loca ...
- win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件
win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件 我杀过 w3wp.exe和asp.net_state的进程,重启 iis admin的服务,都还是不行. 只是把 ...
- iOS Block不能修改外部变量的值
__block int a = 0; void (^foo)(void) = ^{ a = 1; }; Block不允许修改外部变量的值.Apple这样设计,应该是考虑到了block的特殊性,bloc ...
- ios 使用block中使用self可能产生的循环引用
在block中调用 self,那么就会引起循环引用问题,那么这是为什么呢? 为什么self会对block进行强引用呢???? 这里推荐一篇关于block的专业文章,http://blog.csdn.n ...
- 【代码笔记】iOS-将字符串中特定后的字变成红色
一,效果图. 二,代码. ViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup ...
- 【代码笔记】iOS-UIActionSheet字体的修改
一,效果图. 二,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIVi ...
- IOS HTML5页面中数字自动变蓝并识别为手机号
开发HTML5的项目时发现页面元素为一串数字时,IOS手机会默认显示成蓝色字体,并且添加下划线,点击数字时会提示是否识别为手机号. 解决此问题的方法很简单,在head标签中添加下面的meta标记即可解 ...
- springboot(整合多数据源demo,aop,定时任务,异步方法调用,以及获取properties中自定义的变量值)
有这么一个需求 每个部门,需要操作的数据库不同,A部门要将数据放test数据库,B 部门数据 要放在test1数据库 同一个项目 需要整合 多个数据源 上传个demo 方便自己以后回看!!!!!!!! ...
- eclipse打断点调试进入到class文件中,不显示变量值的解决办法汇总
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 问题描述:eclipse打断点调试进入到class文件中,而且监视区不显示变量结果 是由于对应 ...
随机推荐
- iOS-xcconfig环境变量那些事(配置环境的配置)
前言 在配置宏定义参数时,会发现一个问题,在需要临时修改或者测试一些数据时,修改宏,如果不修改,就多写一个,注释掉原来的,然后测试后,再换回来,当然了,如果一两个宏,可以这样,但是,如果每次改的比较多 ...
- Python程序的打包-上传到pypi
pypi注册与配置 在pypi的官网:https://pypi.python.org/pypi 注册自己的账号激活账号之后,我们还需要将在本地配置一份文件 在用户的根目录创建文件 : .pypirc在 ...
- 5_Python OOP
1. 实例属性和类属性 (1) 实例属性在构造函数__init__中定义,定义时以self作为前缀,只能通过实例名访问 (2) 类属性在类中方法之外单独定义,还可以在程序中 ...
- Vue2.5开发去哪儿网App 首页开发
主页划 5 个组件,即 header icon swiper recommend weekend 一. header区域开发 1. 安装 stylus npm install stylus --s ...
- 【原创】关于程序卸载的一个Bug
今天解决了一个问题,程序安装目录下的某个文件不能被卸载,干净环境下不能重现,某些计算机可以重现. 解决: 这个问题里有两个文件不能被卸载 1.由程序生成的文件,如日志,即不是通过安装包安装的文件在卸载 ...
- Android众说纷纭分辨率
Andoid最被人诟病的就是显示屏的各种不同尺寸和不同分辨率.由于Android厂商的纷繁多样,导致出现了不同尺寸和不同分辨率的手机,指示开发者需要兼容各种手机屏幕.本文想学习的就是Android的显 ...
- gson和fastjson
实体类转string的时候gson会对 & 进行url编码; fastjson不会
- ASP.NET MVC 表格操作
Beginners Guide for Creating GridView in ASP.NET MVC 5 http://www.codeproject.com/Articles/1114208/B ...
- Java 容器源码分析之1.8HashMap方法讲解
前言:Java8之后新增挺多新东西,在网上找了些相关资料,关于HashMap在自己被血虐之后痛定思痛决定整理一下相关知识方便自己看.图和有些内容参考的这个文章:http://www.importnew ...
- CentOS Basic XLib functionality test failed!
在CentOS上安装个Qt库时,下好源代码之后执行: ./configure检查环境时,出现: Basic XLib functionality test failed! You might need ...