首页 > 移动平台 > 详细

iOS 快语句(block)浅析

时间:2015-10-02 21:04:38      阅读:177      评论:0      收藏:0      [点我收藏+]

一,直接上code:

// 在快语句中要改变快语句外面的值,有三种情况:static,__block与全局变量

        __block int a = 1;

        

        // 定义快语句

        void (^hgBlock)() = ^{

            a = 10;

            NSLog(@"我在快语句中等你 a=%d", a);

        };

        

        // 执行快语句

        hgBlock();

技术分享

 

二,分析快语句

  使用终端进入main.m文件夹,执行指令:clang -rewrite-objc main.m,然后回车.最终生成一个main.cpp.

  open main.cpp可以看到如下代码:

技术分享

  得出结论:block的本质就是结构体的指针.

  还要注意的是上面的a是怎么传入快语句的,下图所示:

技术分享

 

传入的是地址!!!!!所以能改值!!眼来如痴啊!!!!这个很重哦!

 

iOS 快语句(block)浅析

原文:http://www.cnblogs.com/iOS771722918/p/4852632.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!