Block的基本使用

2018-07-02  本文已影响0人  cjdale

在说Block的基本使用之前,我们先说Block在OC中的作用是什么?
** 保存代码的作用。通常用于回调。**

1、Block的声明

返回值类型(^block变量名)(参数列表)

void(^block)();

2、Block的定义(有三种方式定义)

第一种:

返回值类型(^block变量名)()= ^{};

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

第二种:(如果没有参数,参数可以隐藏, 但是如果有参数,定义的时候必须要有参数,而且参数要有变量名

返回值类型(^block变量名)(参数列表)= ^(参数列表){};

void(^block2)(int a) = ^(int a){
    
};

第三种:不管Block有没有返回值, 都可以在等号后面把返回值类型省略

int(^block3)() = ^int{
    return 3;
};

3、Block的类型

void(^block4)(NSString *) = ^(NSString *str){
    return @"name";
};

上面block4的类型为: void(^)(NSString *)

我们也可以给block4起别名,类型重定义

typedef void(^Block4)(void);

那block4的定义就可以为下面的定义方式:

Block4  block4 = ^(NSString *str){
    return @"name";
};

block快捷方式:

inline

上一篇 下一篇

猜你喜欢

热点阅读