zoukankan      html  css  js  c++  java
  • block的基本使用

    block用来保存一段代码

    block的标志:^

     

    block跟函数很像:

    1. 可以保存代码

    2. 有返回值

    3. 有形参

    4. 调用方式一样

     

    定义bolock变量

    1

    void (^myBlock)() = ^{

          NSLog(@“———————“);

    };

    利用block变量调用block内部的代码

    myblock();

    2

    //  如果block没有形参,可以省略后面的()

    int (^sumBlock)(int, int) = ^(int a, int b){  

         return a + b;

    };

    调用block

    int c = sumBlock(10, 11);

    或者:

    int (^sumBlock)(int, int);

    sumBlock = ^(int a, int b) {

          return a + b;

    };

    3

    void (^lineBlock)(int) = ^(int n)

    {

           for (int i = 0; i<n; i++) {

                NSLog(@“——————“);

           }

    };

    调用:

    lineBlock(5);

     

     

    blocky要掌握的东西

    1>  如何定义block变量

    int (^sumBlock)(int, int);

    void (^myBlock)();

    2>  如何利用block封装代码

    ^(int a, int b) {

        return a - b;

    };

     

    ^() {

        NSLog(@“————“);

    };

     

    ^ {

         NSLog(@“————“);

    };

     

    3>  block访问外面变量

    block内部可以访问外面的变量

    默认情况下,block内部不能修改外面的局部变量

    给局部变量加上_block关键字,这个局部变量就可以在block内部修改

     

    4>  利用typedef定义block类型

    typedef int (^MyBlock)(int, int);

    以后就可以利用MyBlock这种类型来定义block变量

    MyBlock block;

    MyBlock b1, b2;

     

    b1 = ^(int a, int b) {

         return a - b;

    };

     

    MyBlock b3 = ^(int a, int b) {

           return a - b;

    };

  • 相关阅读:
    FileZilla相关配置说明
    pod install速度慢,pod repo update 速度慢解决方法
    Vue安装
    mac 远程桌面连接
    .NET MVC 支付宝支付(即时到账)
    windows下生成ssl
    gentelella 开源后台使用记录
    node、npm、gulp安装
    武汉在院新冠肺炎患者清零
    致最可爱的战疫人
  • 原文地址:https://www.cnblogs.com/pengyunjing/p/5901067.html
Copyright © 2011-2022 走看看