美文网首页
(一)、block基本使用

(一)、block基本使用

作者: lyonLiu | 来源:发表于2016-09-22 12:33 被阅读48次

block的�作用:


用来保存一段代码

block的声明:


返回值(^block变量名)(参数), 如:------> void(^block)()

block的定义:三种方式 ^(参数){};


第一种

void(^block)() = ^(){
  
};

第二种:
如果没有参数,参数可以隐藏


void(^block)() = ^{
};

第三种:
block返回类型可以省略,不管有没有返回值,都可以省略
定义的时候,有参数 必须要写参数,而且必须要有参数变量名


int(^block)() = ^int{
    return 1;
};

block的类型


int(^block)(NSString *) = ^(NSString *name){
    return 1;
}

block的调用


block();

block变量传递


注意点: 如果是局部变量,block是值传递
**注意点: **如果是静态变量,全局变量,_block修饰的变量,block是指针传递


- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    int a = 1;
//    __block int a = 1;
//    static int a = 1;
    void(^block)()=^{
        NSLog(@"%d",a);
    };
    a = 2;
    // 调用
    block();

    NSLog(@"%@",block);
}

输出结果:
使用局部变量时的输出结果

int a = 1;

使用静态变量时的输出结果

static int a = 1;

使用__block变量跟全局变量时的输出结果

__block int a = 1;
//或
a = 1;

block使用的快捷方式


在xcode中输入typedefblock,即可快捷生成以下block声明代码

typedef <#returnType#>(^<#blockName#>)(<#arguments#>);

在xcode中输入inlineBlock,即可快捷生成以下block代码

<#returnType#>(^<#blockName#>)(<#parameterTypes#>) = ^(<#parameters#>) {
        <#statements#>
};

相关文章

  • (一)、block基本使用

    block的�作用: 用来保存一段代码 block的声明: 返回值(^block变量名)(参数), 如:-----...

  • block使用及其底层原理

    一 block基本使用 二 block底层结构 三 block变量捕获 四 block的类型 五 block对象类...

  • Block基本使用

  • block 基本使用

    一、函数指针的作用 二、block的定义与调用方式 三、typedef block 四、block 修饰符 五、b...

  • Block相关

    Block基本使用 1.1、block声明:返回值(^block变量名)(参数)void(^block)(); 1...

  • iOS Block存储域及循环引用

    系列文章:iOS Block概念、语法及基本使用iOS Block实现原理iOS Block __block说明符...

  • iOS block的使用

    block的使用 Block 又称为“块” 或 “代码块”,作用是用来保存代码。block基本格式: 1、使用ty...

  • iOS block的基础语法

    Block的基本使用 Block概述 block是一个数据类型:int double float char ......

  • iOS-简单两步搞定自定义View

    目录 Block简介/定义Block基本使用Block在C/C++(底层)的数据结构Block的类型 Block简...

  • iOS Block实现原理

    系列文章:iOS Block概念、语法及基本使用iOS Block __block说明符iOS Block存储域及...

网友评论

      本文标题:(一)、block基本使用

      本文链接:https://www.haomeiwen.com/subject/aeakettx.html