zoukankan      html  css  js  c++  java
  • 代码块回调

     所谓的代码块的回调,本质上就是类B调用方法Method1(blockParams),类A将代码块的值blockData传入形参blockParams中,(也就是所谓的实现在类A中),类B中使用blockData将具体的参数传入blockData,实现功能。

    类B在使用代码块时并不需要知道其具体的值,只是当作一种数据类型使用,真正的值是在类A中,也就是说先使用了类型,具体的值后面传进来,这就是所谓的代码块回调。

    反过来看就是,代码块作为一种数据类型,正常使用,但是具体的值在以后传入。粗浅的见解

    ViewController.m:

    - (IBAction)BlockStart:(UIButton *)sender {

        

       BlockTest *block = [[BlockTestalloc]init];

        NSLog(@"button click");

        [block DoSomethingWithBlockandRet: ^(int a){

           NSLog(@"接收到参数:%d",a);

           return1;

        }];

        

    }

    BlockTest.m:

    //测试有返回值的block调用

    - (void)DoSomethingWithBlockandRet: (int(^)(int a))completion

    {

        NSLog(@"block start");

        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

           int reslut = completion(5);

           NSLog(@"%d", reslut);

        });

        

    }

  • 相关阅读:
    KNN算法
    从malloc中窥探Linux内存分配策略
    ECC校验原理以及在Nand Flash中的应用
    周大福、周六福、周生生等区分
    USB时钟为什么是48MHz
    NFS网络操作系统介绍以及相关应用
    办公技巧
    嵌入式设备中使用短信服务
    Android App测试要点
    Excel中 设置使得每行的颜色不一样
  • 原文地址:https://www.cnblogs.com/changeUniversal/p/4638805.html
Copyright © 2011-2022 走看看