ios拓展6-block的作为参数

作者: Abler | 来源:发表于2016-07-15 09:45 被阅读301次
ps:本文针对初学者

block对于初学者,会觉得block比较复杂,很难理解. 尤其是在作为参数的时候. 一般在实际使用的时候我们常用block的两种方式, 一种是 作为 "成员变量", 另一种是作为参数(初学者比较难理解的); 笔者会用一些比较简单的方式进行讲解

初学者如果不熟悉的话,可以使用inline(ps:最好完全手打,不要用),
inline.png
===1.作为成员变量使用(就像普通变量)===

一般就是初始化,赋值,然后调用. 就像使用普通的变量一样,这里不做说明

void(^blk)(int)/*声明*/ = ^(int a)/*赋值,a为形参*/ {
        NSLog(@"%d",a);
    };
    
    blk(2);/*调用*/
===2.作为参数使用===

作为参数使用只要记住 传递实参的时候, 相当于对block 进行赋值, 剩下的就好理解了

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //这里是调用 didBlock: 方法
    [self didBlock:^(int a) {
        NSLog(@"%d",a);   /*调用方法时, 这里实参传递(就相当于赋值)*/
    }];
}

/**
 *  方法
 *
 *  @param blk1 参数名
 */
- (void)didBlock:(void(^)(int))blk1 /*声明*/{
    
    blk1(2);/*调用*/
    
}

相关文章

  • ios拓展6-block的作为参数

    block对于初学者,会觉得block比较复杂,很难理解. 尤其是在作为参数的时候. 一般在实际使用的时候我们常...

  • Kotlin学习笔记

    一、拓展函数 1、run run函数接收一个函数参数并作为该函数的返回值作为run函数的返回值 2、with wi...

  • iOS链式函数式响应式编程

    iOS链式,函数式,响应式编程 block表达式语法: 作为函数参数的语法 定义block简写 作为返回值的语法 ...

  • Android开发环境搭建(基础篇)

    前言 作为一名iOS攻城狮,因为工作需要除了iOS开发之外,想要拓展一下移动端开发的知识,所以想要窥探一下Andr...

  • iOS可变参数实现及原理剖析

    iOS可变参数实现及原理剖析 标签(空格分隔): iOS可变参数 iOS方法后面为什么有nil参数 你一定会时常见...

  • 【ES6】数组新增方法

    7 数组的拓展 #7.1 拓展运算符 拓展运算符使用(...),类似rest参数的逆运算,将数组转为用(,)分隔的...

  • swift的@convention

    我们经常将一个函数作为参数传入另一个函数。那么在iOS上能作为一个函数参数的东西有哪些呢 c的函数指针 oc的bl...

  • ES6特性

    箭头操作符 类的支持 增强的对象字面量 字符串模板 解构 参数默认,不定参数, 拓展参数 默认参数值 不定参数 拓...

  • Block声明的几种写法

    参考链接:关于Block的定义,和作为参数的写法iOS开发-Object-C Block的实现方式Objectiv...

  • iOS12 捷径(Workflow 2.0)

    前言 iOS12 捷径(Workflow 2.0)进阶 iOS12捷径(Workflow 2.0)拓展 iOS12...

网友评论

    本文标题:ios拓展6-block的作为参数

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