美文网首页
Block新解

Block新解

作者: Rokkia | 来源:发表于2016-06-08 11:45 被阅读17次

Block纠结了很久,总是看理论的时候明白,用起来的时候头又会晕晕的,这次希望可以真正理解。

Block见过很多,很多地方都会用到 , 尤其是将他放到一个方法里面 ,往往会看到类似这样的一段代码 

[twoVC funcWithBlock:^(NSString*name,NSInteger age,BOOL isBoy) {

//这里只是举个例子

}];

说实话  我一直纠结  这个^(NSString *name,NSInteger age,Bool isBoy){}这是个什么东西,这段代码的默认提示是这样的^(NSString *name, NSInteger age, BOOL isBoy)perBlock回车之后就是刚才的样子,为什么会这样。

不怕笑话,这个问题困扰我很久,也是自己不注意基础的代价吧

回看一下Block的创建  

void(^block)(NSString *inputStr) = ^(NSString *inputStr)

{

//回调执行语句

}

如果这样比较可能会更清晰, 

^(NSString *inputStr){}

    VS   

^(NSString*name,NSInteger age,BOOL isBoy) {}

这样会清晰一些了,方法里面传入的参数是一个block,而这个参数写起来的方式比较奇怪 是^(NSString*name,NSInteger age,BOOL isBoy) {}酱紫的,如果可以吧^(NSString*name,NSInteger age,BOOL isBoy) {}简单看做是一个参数,这样也就理顺了

在方法执行内部

-(void)funcWithBlock:(personBlock)perBlock{

self.perBlock= perBlock;

}

用self保存一下之后,你想要在哪使用这个block就变得更加的灵活了

当然这样看来 typedef void(^personBlock)(NSString*name,NSInteger age ,BOOLisBoy); 这样使用起来就更方便了

本文只是记录自己对于Block理解的过程,也希望大家给予点评

相关文章

  • Block新解

    Block纠结了很久,总是看理论的时候明白,用起来的时候头又会晕晕的,这次希望可以真正理解。 Block见过很多,...

  • EOSIO开发更新2018.02.17

    EOSIO 开发更新(多索引api,上下文无关action,新解释器) 过去几周,block.one生产力很高,完...

  • 最新最全│2018年全国高考语文作文题目汇编

    韩军新解百年《孔乙己》 韩军新解杨绛的 《老王》 韩军新解话剧《雷雨》 韩军新解朱自清《背影》 2018高考语文作...

  • iOS开发之Block原理探究

    Block概述 Block本质 Block调用 Block分类 Block循环引用 Block原理探究 Block...

  • block的使用

    定义block 返回类型 (^block名称)(参数) = ^(){block内容}; 调用block block...

  • Block 02 - __block

    Block 02 - __block __block 的作用 __block 可以解决 Block 内部无法修改 ...

  • iOS面试之Block大全

    Block Block内容如下: 关于Block 截获变量 __block修饰符 Block的内存管理 Block...

  • iOS面试之Block模块

    Block Block内容如下: 关于Block 截获变量 __block修饰符 Block的内存管理 Block...

  • iOS Block

    Block的分类 Block有三种类型:全局Block,堆区Block,栈区Block 全局Block 当Bloc...

  • iOS block 为什么官方文档建议用 copy 修饰

    一、block 的三种类型block 三种类型:全局 block,堆 block、栈 block。全局 block...

网友评论

      本文标题:Block新解

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