Objective C to Java:转换typedef块

时间:2014-09-30 10:32:01

标签: java objective-c

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

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

我怎么能做这个Java?

2 个答案:

答案 0 :(得分:2)

在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
    }
});

答案 1 :(得分:1)

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

最好的比喻是

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