博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
block
阅读量:4661 次
发布时间:2019-06-09

本文共 583 字,大约阅读时间需要 1 分钟。

       1.Block本身是一个数据类型,并且是一个自定义的数据类型

       2.Block的标志是^(托字符)

       3.Block是匿名函数,TA与函数最主要的区别在于 函数在编译期就已经知道封装了什么功能。但是Block只有在你执行的时候才知道内部封装的功能,所有说Block更加灵活多变

       4.Block的作用也是封装代码段来实现具体的功能

       5.既然Block是匿名函数,所以赋值时, 不能将函数名直接赋值,初值为函数的实现体

     

书写格式

      1.初值中的返回值类型可以省略不写,但是必须保证函数内部返回给外界的值的类型与返回值的类型相同

      2.定义Block变量的类型中,参数可以省略不写。但是初值中参数名不能不写,否则无法参与运算

      3.如果Block没有参数,那么在表示初值中的表示参数的小括号可以省略不写

   

__block int a = 6;

    

    void (^testBlock)() = ^{

      

        NSLog(@"%d", a);//block内部可以访问局部变量的值

        

        a = 9;//Block内部如果想改变外界局部变量的值。必须对变量进行__block修饰

        

        count = 101;//Block内部可以直接修改全局变量的值,也可以直接访问全局变量的值

    };

    testBlock();

转载于:https://www.cnblogs.com/hjplcl/p/5202360.html

你可能感兴趣的文章
Linux内核分析——可执行程序的装载
查看>>
第一阶段冲刺3
查看>>
父类引用指向子类对象
查看>>
网页如何实现下载功能
查看>>
IT男专用表白程序
查看>>
读《大道至简》第六章感想
查看>>
ef linq 中判断实体中是否包含某集合
查看>>
章三 链表
查看>>
Solution for Concurrent number of AOS' for this application exceeds the licensed number
查看>>
CSE 3100 Systems Programming
查看>>
IntelliJ IDEA 的Project structure说明
查看>>
Java Security(JCE基本概念)
查看>>
创建 PSO
查看>>
JasperReport报表设计4
查看>>
项目活动定义 概述
查看>>
团队冲刺04
查看>>
泛型在三层中的应用
查看>>
SharePoint2010 -- 管理配置文件同步
查看>>
获得屏幕像素以及像素密度
查看>>
int与string转换
查看>>