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的多线程使用麻烦。而且代码块有点相似于递归,非常容易形成死循环。

  • 相关阅读:
    Qt 去除控件边框线
    Qt 自定义可编辑 模型视图
    Qt double类型输出问题
    vue实例
    初识vue
    python中的数据类型
    python 列表解析式
    Goland常用快键键 mac pro
    文档对象模型DOM
    正则表达式
  • 原文地址:https://www.cnblogs.com/imtodd/p/6640448.html
Copyright © 2011-2022 走看看