Block
Posted alineware
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Block相关的知识,希望对你有一定的参考价值。
1.概述(block变量的声明)
1. block是一个数据类型
2. 数据类型的作用:
可以声明一个这个数据类型的变量, 用来存储数据
block 也是一个数据类型, 所以也可以声明一个 block 类型的变量, 往这个变量中存储数据
block 类型变量是专门用来 存储一段代码的, 这段代码可以有参数和返回值
3. block 变量的声明
变量的声明~
在声明 block 变量的时候, 必须指定这个 block变量中可以存储的代码的参数和返回值描述
一旦指定, 这个 block 变量中只能存储这样的代码段.别的格式的代码段是无法存储进去的.
- block 类型变量的声明格式
- 指定这个 block 变量中存储的代码段的返回值和参数
返回值类型 (^block变量名)(参数列表);
- 指定这个 block 变量中存储的代码段的返回值和参数
4.特别注意
- 1 个 block 变量中只能存储和这个 block变量要求相同的1 段代码段.
2. block变量的初始化
1.block 变量的初始化:
- 定义: 写一段符合 block变量要求的代码, 把这段代码存储到这个 block变量中.
block代码段的语法格式: 固定格式
^返回值类型 (参数列表) { 代码段; };
表示 block 变量中存储了这段代码
3.执行/使用/调用
- 如何执行存储在block 变量中的代码
格式
`block 变量名();有参传参, 有返回值接返回值
4. 简写 block
如果一个代码段没有参数, 那么这个代码段的小括号可以省略
声明 block 的时候没有参数也是不可以省略小括号的.
在写一个代码段的时候, 可以省略返回值类型. 这个时候系统会自动判断这个代码段的返回值类型.
(如果有返回值就自动判断返回 return 后面的数据类型, 没有就自动判断为 Void)
在声明 block 的时候, 可以只写参数的类型
省略参数的变量名字
- 使用 typedef简化 block 定义
查看系统数据类型的头文件定义
语法格式:typedef 返回值类型 (^新类型) (参数列表)
定义了一个数据类型, 这个数据类型名称叫做 newType
这个是一个(声明描述)的 block 类型
以上是关于Block的主要内容,如果未能解决你的问题,请参考以下文章