首页 > 代码库 > 小白都能看懂的block

小白都能看懂的block

首先说明一下,我自己也是一个小白;这是我对block的一点认识或总结,有不对的地方,希望大家指出来

block就是一个代码块,用来执行一小段程序的,

通常我们定义一个block 可以用它的基本模型,返回值类型(^变量的名字)参数类型

例如: int (^myBlock)(int ); 这就是定义了一个block 这个变量的名字为myBlock 就像是 int i;(类比有利于理解)

当我们定义完block之后,我们应该实体化它,。就像是我们定义完int i; 我们要给int i 赋值, (其实实体化,就相当于写C语言的函数,他可能有输入参数,要求我们在{}里面来实现一些我们的逻辑)

         int (^myBlock)(int);
        myBlock = ^(int i){
            return i;
        };
        NSLog(@"%d",myBlock(5));

当然我们也可以定义的时候直接赋值

int (^myBlock)(int) = ^(int i){
            return i;
        };

NSLog(@"%d",myBlock(5));

这样所达到的效果是一样的。就像我们可以先定义一个变量 int i;i = 5;我们也可以定义的时候初始化 int i = 5;

这样我们就拥有了一个block 类型的变量了,接下来我们我们可以使用block了

 

小白都能看懂的block