有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

目标C到Java:转换typedef块

我正在尝试移植以下typedef块:

typedef void (^MyBlock)(BOOL success, enumType appStatus);

我该怎么做呢


共 (2) 个答案

  1. # 1 楼答案

    在Java中,您将使用一个方法接口:

    interface MyBlock {
        void run(boolean success, EnumType appStatus);
    }
    

    当您将一个新块传递给采用MyBlock的API时,您可以这样做:

    someObject.runWithBlock(new MyBlock() {
        public void run(boolean success, EnumType appStatus) {
            ... // The code of your block goes here
        }
    });
    
  2. # 2 楼答案

    Java没有指向函数类型的指针

    最好的类比是

    intarface MyBlock {
        void perform(boolean success, enumType appStatus);
    }