zoukankan      html  css  js  c++  java
  • block

           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();

  • 相关阅读:
    HDFS数据流——读数据流程
    HDFS网络拓扑概念及机架感知(副本节点选择)
    HDFS数据流——写数据流程
    HDFS基本概念
    Hadoop运行模式:本地模式、伪分布模式、完全分布模式
    Java枚举enum关键字
    Java内部类
    Eclipse常用快捷键
    Linux中Mysql安装卸载
    服务器同时运行两个项目
  • 原文地址:https://www.cnblogs.com/hjplcl/p/5202360.html
Copyright © 2011-2022 走看看