zoukankan      html  css  js  c++  java
  • objective-c(五)关于代码块的使用

      关于objective-c语言中,有一种技术叫做代码块技术。代码块技术实际上是将函数类型声明称变量类型。以变量的类型存在。在其中可以进行计算等操作。

      声明方法:

      int (^demo)(NSString *x)=^{return 0;};

      以上声明就是一个代码块类型的数据的声明,代码块可以被当作是参数进行传递。类型是最开始声明的类型,在代码块的部分也一定要返回相应的数据类型。demo就是这个代码块的名字。调用的时候,这个就相当于变量,使用它来进行调用。调用的使用。参数的位置不仅可以使用一个普通的相同类型的变量来接收,也可以使用以下的方法进行接收。

      -(NSMutableArray *) filterArray:withBlock:(BOOL(^)(id))block{

      }

      上面就是在创建方法时。明确指定传入的是一个代码块变量。

      运行的方式是,在程序调用方法时,如果传入了代码块变量,程序会先调用代码块,执行完毕之后,将哪个返回数据返回到参数上。然后在执行后面的方法。

      当作为参数是。使用的如下

      demo(参数)

      以上格式即可。并且在oc中的多线程可以支撑到代码块。但是不建议使用。相对于java的多线程oc的多线程使用麻烦。而且代码块有点相似于递归,非常容易形成死循环。

  • 相关阅读:
    ubuntu多版本java并切换环境
    ssh 免密登陆
    linux系统的文件和目录
    docker-compose简介及使用
    vue3.0 + html2canvas 一键截图
    vue3.0 无法获取对象值
    算法——回溯算法 (Back Tracking) (转)
    VMware——CentOS-64 7——桥接模式无法连接网络的问题
    groovy 字符串和闭包
    https://blog.didispace.com/
  • 原文地址:https://www.cnblogs.com/imtodd/p/6640448.html
Copyright © 2011-2022 走看看