IOS-常用数据类型(1)
来源:互联网 发布:嵌入式linux驱动教程 编辑:程序博客网 时间:2024/06/02 03:01
--Block
Block封装了一段代码,可以在任何时候执行
Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:block是inline(内联函数)的,并且默认情况下它对局部变量是只读的
苹果官方建议尽量多用block。在多线程、异步任务、集合遍历、集合排序、动画转场用的很多
Blocks的定义:
int (^MySum)(int, int) = ^(int a, int b) {
return a+b;
};
定义了一个叫MySum的blocks对象,它带有两个int参数,返回int。等式右边就是blocks的具体实现
Block可以访问局部变量,但是不能修改。
int sum = 10;
int (^MyBlock)(int) = ^(int num) {
sum++;//编译报错
return num * sum;
};
如果要修改就要加关键字:__block
__block int sum = 10;
定义函数指针
int (*myFn)();
定义Blocks
int (^MyBlocks)(int,int);
调用函数指针
(*myFn)(10, 20);
调用Blocks
MyBlocks(10, 20);
在声明的同时定义变量,然后赋值
int (^MySum)(int,int) = ^(int a,int b) {
return a + b;
};
也可先用typedef先声明类型,再定义变量进行赋值
typedef int (^MySum)(int,int);
MySum sum = ^(int a,int b) {
return a + b;
};
- IOS-常用数据类型(1)
- IOS-常用数据类型(2)
- 随笔之IOS常用数据类型
- iOS中常用的数据类型转换
- SQLServer常用数据类型(转)
- 常用数据类型转换(JAVA)
- ORACLE常用数据类型(转)
- Matlab常用数据类型(一)
- iOS开发入门教程之Objective-C · 常用的数据类型
- iOS培训-oc类中常用数据类型总结
- 常用数据类型
- 常用数据类型
- 常用数据类型
- 常用数据类型
- 常用数据类型
- ios 数据类型
- iOS数据类型
- iOS数据类型
- js手动存储cookie
- Hadoop的安全模式----自检
- Android4.4 4.2keyguard锁屏流程梳理
- Qt获得焦点和失去焦点处理事件 (Focus事件)
- jQuery返回顶部效果
- IOS-常用数据类型(1)
- 关于两个jar包中存在包名和类名都完全相同的jar包冲突问题
- Unit13-problem1-点、圆的关系(贺老师的)
- Cocos2d-x 之大牛看法
- linux下c++调用java实现过程
- NotImplementedException()方法
- ProGuard
- sony单反数码相机闪光灯-TTL的研究
- shell编程cut