block之--- 基本使用
2024-10-19 13:39:14
block的类型:对象
- 官方文档描述如下 “Blocks are Objective-C objects, which means they can be added to collections like NSArray or NSDictionary”
block的作用:
用来保存某一段代码, 并不是马上执行,需要手动调用
block的定义
返回值类型 (^block变量名)(形参列表) = ^返回值类型(形参列表) {
};
1.不带参数和返回值
void (^block名)() = ^{代码块;}
例如:
void (^myBlock)() = ^{ NSLog(@"YMF"); };
2.带参数和返回值
返回类型 (^block名称)(参数列表)
= ^ (参数列表) { // 代码实现; }
例如:
int (^myBlock)(int, int) = ^(int num1, int num2){ return num1 + num2; };
3.block的其他定义方式
定义一: 等号右边: ^返回值(){};
void(^block1)() = ^void(){
};
定义二: 定义block,不管有没有返回值都可以省略,如果有返回值,在代码块中一定要记得return。
int(^block2)() = ^(){
return 1;
};
非常规定义,声明时不声明参数,定义时传入参数
int (^block)() = ^(int num1, int num2) {
int num = num1 +num2;
NSLog(@"block --%d",num);
return num;
};
4.block的调用
block变量名(实参);
block代码的快捷键:inlineBlock
最新文章
- CSS常见技巧
- 从零开始编写自己的C#框架(16)——Web层后端父类
- C#与C/C++的交互zz
- URL编码表,URL编码大全
- 《JavaScript高级程序设计》学习笔记
- ABBYY FineReader 12双十一特价来袭
- 关于Windows Azure 地缘组(Affinity Groups)
- ASP.NET Web API标准的“管道式”设计
- (从终端看linux-2)浅析terminal创建时ptmx和pts关系
- RHEL/CentOS 6.x 系统服务详解
- C语言数据结构----双向链表
- 五分钟秒懂Java日志组件
- springmvc 前端 发ajax请求的几种方式
- scrapy 博客爬取
- NOIP 2012
- struts2 上传与下载
- Virtual DOM 系列二:核心API
- 将 Desktop Central 与帮助台和 OS Deployer 集成
- js之Ajax下载文件
- MySQL 并行复制演进及 MySQL 8.0 中基于 WriteSet 的优化