您的位置:首页 > 产品设计 > UI/UE

IOS(UI)_Block代码块

2016-03-01 17:38 501 查看

Block

什么是Block?

Blcok是ios4.0+和Mac OS X 10.6 引进队C语言的扩展,用来实现匿名函数的特征

block是C级别的匿名函数块,和C语言的函数指针很像,在ios4.0之后开始支持block在IOS开发中什么情况时有block?

在ios开发中什么情况时有block?

1.代码的封装

2.并发任务的执行

3.回调

block 块语法:

声明:

返回类型(^代码块名)(参数列表)


调用:

代码块名=^(参数列表){};


有参数有返回值:

block块的声明

int (^Sum)(int n1,int n2,int n3);


block块的实现

Sum = ^(int n1,int n2,int n3){

int max = n1;
if (n1 < n2)
{
max = n2;
}
if (n2 < n3)
{
max = n3;
}

return max;
};


调用:

int result = Sum(1,2,3);


无法返回值:

block声明:

void (^jack)(NSString *string);


block的实现:

jack = ^(NSString *string){

NSLog(@"%@",string);
};


调用:

jack(@"Rick");


无返回值和参数列表:

block声明:

void(^myBlockOne)();


block的实现:

myBlockOne=^()
{
num++;
NSLog(@"num=%d",num);
}
或
void(^myBlockOne)()=^()
{
num++;
NSLog(@"num=%d",num);
}


调用:

myBlockOne();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: