黑马程序员_新的数据类型block
来源:互联网 发布:ftp 21端口 编辑:程序博客网 时间:2024/06/06 12:21
------- IOS培训、android培训、期待与您交流! ----------
Block封装了一段代码,可以在任何时候执行
Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。
苹果官方建议尽量多用block。在多线程、异步任务、集合遍历、集合排序、动画转场用的很多.block
block的标识是^
block的使用与函数十分相似:
1>都可以保存代码
2>都有返回值
3>有形参
void (^myblock)() =^{ NSLog(@"-------"); NSLog(@"--------"); }; myblock();
定义带有参数的block形式如下
int (^sumBlock)(int, int) = ^(int a,int b) { return a+b; }; int a = sumBlock(10,11); NSLog(@"a=%d",a);
与定义指向函数的指针类似
int sum(int a,int b){ return a+b;} int (*p)(int,int)=sum; int b = p(10,12); NSLog(@"b= %d",b);对于每次bliock的定义都要使用void (^myblock)(int ,int)这么一串代码可以通过typedef 来简写
typedef int (^MyBlock)(int, int);
在给变量赋值时使用如下代码
Myblock sumblock = ^(int a, int b){ return a+b;}block 内部是可以直接访问外部的变量的值,但是不可以修改,如果想要修改外部变量的值需要是使用关键字_block
int a = 10; __block int b =4; void (^block) = ^{ NSLog(@"a=%d",a); // a = 20; b = 5; }; block();
0 0
- 黑马程序员_新的数据类型block
- 黑马程序员_OC基础12_基本数据类型block
- 黑马程序员_数据类型
- 黑马程序员_数据类型
- 黑马程序员--OC--block数据类型
- 黑马程序员_基本数据类型对象包装类新特性
- 黑马程序员_数据类型的转换
- 黑马程序员_新的起点
- 黑马程序员_新特性
- 黑马程序员_ oc block使用注意
- 黑马程序员_一些有用的数据类型和NSString
- 黑马程序员_有关C语言的数据类型
- 黑马程序员_高新_枚举
- 黑马程序员_jdk5的几个新特性二_注解
- 黑马程序员_部分JDK1.5的新特性
- 黑马程序员_高新技术_JDK1.5的新特性
- 黑马程序员---block的使用
- 黑马程序员-----block的学习
- MySQL各个版本区别
- 用VMware安装虚拟系统时出现Invalid system disk,Replace the disk and then press any key
- OpenCv学习笔记(二)—cv::Mat学习
- HDU 2955 Robberies
- 虚拟机中linux系统的网络设置
- 黑马程序员_新的数据类型block
- LeetCode_Construct Binary Tree from Preorder and Inorder Traversal
- 细说socket函数
- 网站访问量的统计(Application和Session应用)
- Ubuntu14.04创建桌面快捷方式
- java 中类的加载顺序
- VS2013使用SQL2012数据库介绍
- main函数两个参数用法(转)
- 多数用户仍用老款iPhone 有望迎升级热潮