block小结--02 block的种类;

原创 2016年05月31日 20:00:50

验证block是属于哪类的block;

--------------------------------------------------------------------------------------------------------------------

NSGlobalBlock 

--------------------------------------------------------------------------------------------------------------------

验证:不引用外部的变量就是globalBlock

        //有参数,有返回值------num,num1可以省略;

        int(^blo3)(int num,int num1 ) = ^(int num1,int num2){

            NSLog(@"blo3内部返回的值 %d",(num2+num1)/2);

            return num1 + num2;

        };

        NSLog(@"%d",blo3(30,40));

        

        NSLog(@"%@",blo3 );  //<__NSGlobalBlock__: 0x100002110>


--------------------------------------------------------------------------------------------------------------------

2016-05-31 19:15:58.721 总结--block[6054:847379] blo3内部返回的值 35

2016-05-31 19:15:58.722 总结--block[6054:847379] 70

2016-05-31 19:15:58.722 总结--block[6054:847379] <__NSGlobalBlock__: 0x100002110>


--------------------------------------------------------------------------------------------------------------------

__NSMallocBlock__ 

--------------------------------------------------------------------------------------------------------------------


        __block int a = 10;

        int(^blo3)(int num,int num1 ) = ^(int num1,int num2){

            NSLog(@"blo3内部返回的值 %d",(num2+num1)/2);

            a = 20;

//            NSLog(@"%d",a);

            return num1 + num2;

        };

        NSLog(@"%d",blo3(30,40));

        

        NSLog(@"引用外部变量int a之后-----%@",blo3 );//引用外部变量int a之后-----<__NSMallocBlock__: 0x100601270>



--------------------------------------------------------------------------------------------------------------------

__NSStackBlock__ 

--------------------------------------------------------------------------------------------------------------------

        int a = 10;

        

        NSLog(@"stack-----%@",^{

            NSLog(@"%d",a);

        });

--------------------------------------------------------------------------------------------------------------------

       //stack-----<__NSStackBlock__: 0x7fff5fbff6d8>


--------------------------------------------------------------------------------------------------------------------

--------------------------------------------汇总------------------------------------------------------------------------


        

        NSLog(@"gloal-----%@",^{

            NSLog(@"aaa");

        });

        

       int a = 10;

        void (^block5)() = ^(){

            NSLog(@"%d",a);

        };

        

        NSLog(@"malloc----%@",block5);

        

        

        NSLog(@"stack-----%@",^{

            NSLog(@"%d",a);

        });


--------------------------------------------汇总------------------------------------------------------------------------

2016-05-31 19:55:36.423 总结--block[6228:862567] malloc----<__NSMallocBlock__: 0x1002005c0>

2016-05-31 19:55:36.423 总结--block[6228:862567] gloal-----<__NSGlobalBlock__: 0x1000021c0>

2016-05-31 19:55:36.423 总结--block[6228:862567] stack-----<__NSStackBlock__: 0x7fff5fbff6d8>








相关文章推荐

CSS中多列块的实现小结 display : inline-block 内联块

最近在折腾HTML5和CSS3    -->   示例页面 在做网页菜单的时候,最上面需要加一行工具栏,并排放的,那我想弄四个等宽的box,然后并排放,这样以后想扩展也很好扩展。 刚开...
  • misol
  • misol
  • 2011年11月03日 19:40
  • 2692

iOS项目内block的使用小结(1)

单位项目中block用的非常普遍,导致我这种一瓶子不满半瓶子晃荡的选手很是忧伤,这几天研究这个感觉有了点收获,赶紧记下来,怕到时忘了,给自己留个印象。 block其实就是一段代码块,一个函数,一个方...

02 Block语法

1.Block介绍 Block是iOS4.0之后新增的一种语法结构,也称为“闭包(closure)”; SDK4.0新增的API中大量使用了Block; Block是一个匿名的函数代码块,此代码块可以...

刀哥多线程笔记之gcd-02-block

block概念 block 是 C 语言的 是一种数据类型,可以当作参数传递 是一组预先准备好的代码,在需要的时候执行 动画 block 回顾self.demoView.center = CGPoin...

block使用小结、在arc中使用block、如何防止循环引用

原文:http://www.cnblogs.com/hanjun/p/3767394.html 引言 使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChi...
  • gx_wqm
  • gx_wqm
  • 2016年06月09日 22:52
  • 97

block使用小结、使用block、如何防止循环引用

引言 使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于block的小测试主题 : 【小测试】你真的知道blocks在Objective-C中是怎么工...

block使用小结、在arc中使用block、如何防止循环引用、weak–strong dance

Block简介 Block作为C语言的扩展,并不是高新技术,和其他语言的闭包或lambda表达式是一回事。需要注意的是由于Objective-C在iOS中不支持GC机制,使用Block必须自己管理内...

block使用小结、在arc中使用block、如何防止循环引用

引言 使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于block的小测试主题 : 【小测试】你真的知道blocks在Objective-C中是...
  • eqera
  • eqera
  • 2014年02月17日 15:16
  • 3715

block使用小结、在arc中使用block、如何防止循环引用

http://www.cnbluebox.com/?p=255 block使用小结、在arc中使用block、如何防止循环引用 发表于2013/09/15由fengnianji ...

block使用小结、在arc中使用block、如何防止循环引用(zz)

zz from http://www.cnbluebox.com/?p=255 引言 使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于b...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:block小结--02 block的种类;
举报原因:
原因补充:

(最多只允许输入30个字)