zoukankan      html  css  js  c++  java
  • block浅析

       // block用来保存一段代码
        // block的标志:^
        /*
         block跟函数很像
         1.可以保存代码
         2.有返回值
         3.有形参
         4.调用方式一样
         */
        
        // 定义block变量
        void (^myblock)() = ^{
            
            NSLog(@"88888");
            NSLog(@"88888");
        };
        
        // 利用block变量调用block内部的代码
        myblock();
    
    /*
     1)如何定义block变量
     int (^MyBlock)(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 myblock;
     MyBlock b1,b2;
     
     b1 = ^(int a, int b) {
     return a - b;
     };
     
     MyBlock b3 = ^(int a, int b) {
     return a - b;
     };
     */
  • 相关阅读:
    python完成简单购物功能
    Java对字符串进行加密
    python完成留言板功能
    webpack4 学习
    webpack学习之 vue-cli3和4
    节点操作
    new 做了什么
    从url输入网址后发生什么
    防抖节流
    BFC原理和解决方案
  • 原文地址:https://www.cnblogs.com/521it/p/5020168.html
Copyright © 2011-2022 走看看