美文网首页
Block的深入与浅出

Block的深入与浅出

作者: 隔岸相望不相忘 | 来源:发表于2018-07-23 17:51 被阅读0次

谈到block,我们通常称之为代码块,那么block的本质到底是什么呢?

block的实质上是对象, 一个函数指针, 指向代码块, 以及上下文所需的变量;

函数指针和block的格式对比

函数指针 void(*fun)(int)

block void(^fun)(int)

blcok的书写形式如下:

//无参无返回值

typedef void (^blockWithoutParameterAndValue)();

//无参有返回值

typedef  NSString* (^blockWithValueButParameter)();

//有参无返回值

typedef void (^blockWithParameterButvalue)(NSString *string, float a);

//有参有返回值

typedef NSString *(^blockWithParameterAndvalue)(NSString *string,float b);

block默认都是在栈上创建的, 当block超过作用域, 就会被销毁, 如果要在作用域外使用block, 应copy该block到堆上,

相关文章

  • 2019-07-20

    Block深入浅出

  • Block的深入与浅出

    谈到block,我们通常称之为代码块,那么block的本质到底是什么呢? block的实质上是对象, 一个函数指针...

  • 有关block的学习

    深入浅出Block的方方面面

  • Block 深入浅出

    iOS Block用法和实现原理 《Objective-C高级编程》是一本有趣又难懂的书,全书就讲了引用计数、Bl...

  • Block深入浅出

    Block 匿名函数,能够自动捕捉变量

  • 深入浅出 block

    前言 由于笔者前段时间一直忙着上家公司交接和找工作,近期文章很少有更新。简单说一下前几天的面试感触,总共面试了七家...

  • 深入浅出Block

    ps:看网上的东西最好自己试一下,别人讲的东西不一定是正确的。 Block概要 什么是Block Blocks是C...

  • Block深入浅出

    Block的种类 Block分为三类1.NSGlobalBlock: 静态区2.NSMallocBlock: ...

  • Block深入浅出

    一、概述 闭包 = 一个函数『或指向函数的指针』 + 该函数执行的外部的上下文变量 『也就是自由变量』;Block...

  • Block深入浅出

    一:什么事Block Block 是将函数及其执行上下文封装起来的对象。 基本使用: 在方法中生命 typedef...

网友评论

      本文标题:Block的深入与浅出

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