您的位置:首页 > 编程语言

关于Block代码块的使用方法

2013-03-12 11:16 246 查看
一、概念

首先需要了解的是Block是一个代码块,是一个变量的形式存在的。

二、构成了解

我们需要在函数中声明block,因为是变量的形式,而且存在静态变量形式

类型1:
NSString* (^blocks)(NSString*)= ^(NSString *str)
{
//NSLog(@"this is :%@",str);
return str;
};

返回值类型是字符串,如同函数一样,返回值类型写在最前面

^blocks是声明一个代码块,名字叫做blocks

后面括号跟的是参数的类型,如果没有参数返回void,如果有多个参数类型,那么逗号分隔列出

等于号后面的是参数名列表。

因为写的是一个有返回值的block,所以需要return一个与返回值类型相同类型的值,这里返回的是参数字符串

类型2:
int (^david)(int)= ^(int num)
{
return num*5;
};

这里的返回值类型是一个int,代码块名字叫做david,参数是一个int类型的变量

等于号后面是参数列表,执行的语句是return num *5这句话。

因为如上的两个例子都是有返回值的类型,那么我在调用的时候可以直接使用。

例如:

NSLog(@"this is block:%@",blocks(@"hello"));
NSLog(@"this is block:%d",blocks(5));

类型3:
void (^david)(void)= ^(void)
{
NSLog(@"I am a block code!");
};

这里只是简单的执行了一句话,调用方法就是直接打印或者当作变量直接使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: