1. 首先,我们快速过一下,什么是Block?
Block是一段代码,它在OC中以^开头,可以有返回值,和参数列表,但就是没有名字。
所以,你可以把它认为是匿名函数。
事实上,它和Swift中的闭包(Closure)是一样的。
或者,学过.NET的童鞋知道委托吧,它和委托也差不多概念。
都是可以在一个方法中传入它,作为参数的方法。
无参无返回值的Block:
[MyObject myMethodParam1: xx param2: ^{
...
}];
有参有返回值的Block:
[MyObject myMethodParam1: xx param2: ^BOOL(id param1, id param2) {
...
}];
好了,说了那么多,我们来看个例子:
myDict enumerateKeysAndObjectsUsingBlock:^(
延伸阅读
- ssh框架
2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁
2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe
2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】
2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词
2017-07-26
- 从栈不平衡问题 理解 calling convention
2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明
2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解
2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析
2017-07-26
- 集合结合数据结构来看看(二)
2017-07-26
学习是年轻人改变自己的最好方式