美文网首页
关于Block

关于Block

作者: dsosp | 来源:发表于2016-03-31 21:24 被阅读18次

1.Block:


1.是一种新的数据类型,用于定义变量,存储一段代码,可以在任何时候执行,Block 既可以作为函数参数或者函数的返回值,而本身又可以带输入参数或返回值,与传统的函数指针类似。
2.字面上来讲,Block 就是一个代码块,但它的神奇之处在于在内联(inline)执行的时候(这点和 c++很像)还可以传递参数。同时 Block 本身也可以被作为参数在方法和函数间传递,这就给了 Block 无限的可能性。

2.语法规则:关键符号 ^


1.无参无返回值:

//定义一个Block 变量,名称为myBlock,无参无返回值。
void (^myBlock)(void) = ^void(void){
    NSLog(@"Block Running");
}

2.有参数有返回值类型:

double(^myBlock1)(int,int)=^double(int a,int b){//返回值类型是double 参数是两个int整型
//    if(b!=0) return  a*1.0/b;
//    else return 0;
//    等效于下面的这一句。
return b?a*1.0/b:0;//如果 b 为真(即不为0)返回 a*1.0/b 否则返回0;
};

3.待续。。。

相关文章

  • iOS面试之Block大全

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

  • iOS面试之Block模块

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

  • 详细的探讨一下Block(讨论篇、基础篇、实质篇)

    章节目录 关于Block的讨论篇 Block的基础篇 Block的实质篇 讨论篇: 为什么要看Block? 为了更...

  • 关于block(4)

    关于block(4) 标签: iOS 技术 接上篇,我们继续探究block。 block的copy属性 研究到这里...

  • block

    一.关于block block是将函数及其执行上下文封装起来的对象。 __block_impl结构体为 block...

  • 关于Block

    转化前代码 用clang命令clang -rewrite-objc testBlockM.m 关注 isa:isa...

  • 关于Block

    1.Block基本用法: block声明返回值(^block变量名)(参数)void(^block)(); blo...

  • 关于block

    block是在iOS 4.0之后出现的,封装了一段代码并将这段代码当做变量,通过block()的方式进行回调,说白...

  • 关于block

    当引用到外部的变量 1 无__block关键字时,内部直接创建一个同名变量,然后赋值。所以内部变量的地址 跟外面是...

  • 关于Block

    前段时间深受block循环引用的毒害,花时间研究下。 一、Block是C语言的一种数据类型,是一段提前准备好的代码...

网友评论

      本文标题:关于Block

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