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);

        });

        

    }

  • 相关阅读:
    Root resource classes
    web.xml文件的作用
    Mac OS X 快捷键(完整篇) 转载
    Eclipse快捷键大全(转载)
    mac os 下如何清除/切换svn eclipse插件的用户
    N-Queens II
    接口是永远不能被实例化的
    Chpater 10: Sorting
    Java 理论和实践: 了解泛型
    EMQ X + ClickHouse 实现物联网数据接入与分析
  • 原文地址:https://www.cnblogs.com/changeUniversal/p/4638805.html
Copyright © 2011-2022 走看看