美文网首页
Block(块)介绍之二:Block的简单使用

Block(块)介绍之二:Block的简单使用

作者: 赵亦晨 | 来源:发表于2016-10-22 01:46 被阅读0次

前言:定义Block时,可以对Block的输入参数以及返回值的类型进行定义。可以有输入参数,也可以没有输入参数;可以设置一个输入参数,也可以设置多个参数;可以有返回值,也可以没有返回值。

1、无输入参数+无返回值

这种形式的Block,无需任何输入参数,并且无返回值,一般都是在该Block中完成一些动作,例如在完成一段动画后,执行一段Block,如下所示:

@interfaceUIView(UIViewAnimationWithBlocks)

+(void)animateWithDuration:(NSTimeInterval)duration animations:(void(^)(void))animations;

我们也可以自定义一个无输入参数、无返回值的Block,如下所示:

void(^blockWithOutInputAndOutput)(void)=^(void){

NSLog(@"block Called!");

};

2、有输入参数+无返回值

这种形式的Block,有输入参数,但无返回值。一般都是在该Block中根据输入参数完成一些动作,例如,在AFNetworking中,当获取到网络反馈的数据后,会调用一个Block,并且把从服务器获取的数据作为参数,传入Block。

-(AFHTTPRequestOperation*)POST:(NSString*)URLString

parameters:(id)parameters

success:(void(^)(AFHTTPRequestOperation*operation,id responseObject))success

failure:(void(^)(AFHTTPRequestOperation*operation,NSError*error))failure

{

AFHTTPRequestOperation*operation=[selfHTTPRequestOperationWithHTTPMethod:@"POST"URLString:URLStringparameters:parameters success:success failure:failure];

[self.operationQueue addOperation:operation];

returnoperation;

}

我们也可以自定义一个有输入参数、无返回值的Block,如下所示:

void(^blockWithInput)(int)=^(intinputNum){

NSLog(@"blockWithInput Called!");

};

3、有输入参数+有返回值

Block定义

int(^blockWithOutputAndInput)(int)=^(intinputNum){

NSLog(@"blockWithOutputAndInput Called!");

returninputNum;

};

Block调用

intintNumber2=blockWithOutputAndInput(200);

NSLog(@"blockWithOutputAndInput:%d",intNumber2);

4、有多个输入参数

可以在Block定义中传入多个参数。

Block的定义

double(^multiplyTwoValues)(double,double)=^(doublenumber1,doublenumber2){

returnnumber1*number2;

};

Block的调用

doubledoubleNumber=multiplyTwoValues(5.0,5.6);

NSLog(@"multiplyTwoValues: %f",doubleNumber);

5、无输入参数+有返回值

Block的定义

int(^blockWithOutput)(void)=^(void){

NSLog(@"blockWithOutput Called!");

return100;

};

Block的调用

intintNumber1=blockWithOutput();

NSLog(@"blockWithOutput:%d",intNumber1);

相关文章

  • Block(块)介绍之二:Block的简单使用

    前言:定义Block时,可以对Block的输入参数以及返回值的类型进行定义。可以有输入参数,也可以没有输入参数;可...

  • iOS Block的使用

    一 .最简单的block使用 使用block的三个步骤: 1.定义block变量2.创建block代码块3.调用b...

  • Block块使用

    一、Block的简单介绍 Block 就是匿名函数 它是封装了一个代码块,这个代码块在什么时候都可以执行; 使用B...

  • iOS - Block的详解

    一、Block的简单介绍 Block 就是匿名函数 它是封装了一个代码块,这个代码块在什么时候都可以执行; 使用B...

  • block传值

    一、Block的简单介绍 Block 就是匿名函数 它是封装了一个代码块,这个代码块在什么时候都可以执行; 使用B...

  • block 实用小例子

    本篇是简单介绍iOS 开发中block的使用(附demo): /* 声明一个block (返回类型)(^block...

  • iOS block的使用

    block的使用 Block 又称为“块” 或 “代码块”,作用是用来保存代码。block基本格式: 1、使用ty...

  • 老生常谈之Block

    老生常谈之Block 前面有一篇介绍Block的博客,主要介绍了Block的简单使用技巧。这篇博客主要更加深入地了...

  • ios block使用

    iOS Block的使用一 .最简单的block使用******使用block的三个步骤:1.定义block变量 ...

  • Block

    Block概念介绍 block是一段代码块,是一个对象 Block的声明 Block的定义 Block的快捷定义:...

网友评论

      本文标题:Block(块)介绍之二:Block的简单使用

      本文链接:https://www.haomeiwen.com/subject/kpncuttx.html