美文网首页
浅析block及其实际应用

浅析block及其实际应用

作者: coder_那一抹刚吹过的风 | 来源:发表于2016-05-18 20:16 被阅读26次

紧接上次的内容.我们这次来说说block作为类型的使用.就像我上次的说的那样.block是一个对象类型,既然是对象类型当然可以创建实例了.不过咱们今天用宏定义的方法实现一下.

typedef void (^block)(int, int);

解释一下,上面代码的意思就是说生命一个类型为 有两个参数,返回值为空类型的名为block的类型.大致就是这个意思,语文水平可能有点伤,大家读不通的脑部一下文字的顺序这个时候当我们向创建一个变量时候就可以直接用可以实例化对象就行了.

block b;

这个时候b就具有上述bolick一样类型的block变量.我们接下来看一下赋值

b = ^(int a , int b) {
        NSLog(@"%d", a + b);
};
b(1, 2);

我们接下来看一下block做为参数的使用.

- (void)sum:(int (^)(int , int ))sum {
    int a = 10;
    int b = 13;
    NSLog(@"%d", sum(a, b));
}

我们再来看一下调用,调用也是很简单,但是注意我们必须创建一个block变量且对象类型要和参数类型一样.

int (^block)(int a, int b) = ^(int a, int b) {
        return a + b;
};
[class sum:block ];

block的用法大致就已经说完.但是请大家一定要注意,block虽然很方便,切记不能滥用.
参考:
iOS开发进阶 p190-p192 唐巧
http://rypress.com/tutorials/objective-c/blocks
Google 写的时候读了好几篇,但是大部分都是自己实际写代码的感受所得.贴上两个认为比较不错的.大家自行阅读吧.

相关文章

  • 浅析block及其实际应用

    紧接上次的内容.我们这次来说说block作为类型的使用.就像我上次的说的那样.block是一个对象类型,既然是对象...

  • 浅析block及其实际应用(一)

    因为作者也是最近才对block来电,所以理解可能会有些偏差.首先大概说一下block是个什么东西.block就像是...

  • iOS Block 应用浅析

    Block objects are a C-level syntactic and runtime feature...

  • Block

    1. 什么是block --block是将函数及其函数执行体封装起来的对象。block实际是一个结构体,block...

  • iOS-2 Block

    block块 系列文章: iOS Block浅浅析 - 简书 iOS Block实现原理 iOS Block __...

  • Block

    block实际是将函数及其上下文封装起来的对象,block的调用实际上是函数的调用截获变量:对基本数据类型的局部变...

  • Block 原理浅析

    Block 浅析 一、Block内存 (堆、栈、全局) 知识点: 栈区(stack)— 由编译器自动分配释放 ...

  • iOS应用程序的脱壳实现原理浅析

    iOS应用程序的脱壳实现原理浅析 iOS应用程序的脱壳实现原理浅析

  • 地热学及其应用 汪集旸等著

    地热学及其应用 汪集旸等著 汪集暘编著的《地热学及其应用(精)》是一部系统论述地热学理论及其实际应用的专著。全书分...

  • 2019 iOS面试题-----Block原理、Block变量截

    什么是Block? Block变量截获 Block的几种形式 一、什么是Block? Block是将函数及其执行上...

网友评论

      本文标题:浅析block及其实际应用

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