2
我想端口下面的typedef塊:目標C到Java:將一個typedef塊
typedef void (^MyBlock)(BOOL success, enumType appStatus);
我怎麼能這樣做的Java?
我想端口下面的typedef塊:目標C到Java:將一個typedef塊
typedef void (^MyBlock)(BOOL success, enumType appStatus);
我怎麼能這樣做的Java?
在Java中你可以使用一個單一方法接口:當你傳遞一個新塊的API以MyBlock
interface MyBlock {
void run(boolean success, EnumType appStatus);
}
,你做這樣的:
someObject.runWithBlock(new MyBlock() {
public void run(boolean success, EnumType appStatus) {
... // The code of your block goes here
}
});
的Java沒有像指向函數類型的指針。
最好的比喻將
intarface MyBlock {
void perform(boolean success, enumType appStatus);
}
事實並非如此,由於Java8函數是第一類對象... – 2014-09-30 10:41:47
這是不正確的。因爲沒有功能類型。 Java 8只是有一些函數的語法糖。 – talex 2014-09-30 12:07:49
這幾乎讓我想發佈一個新的問題。 – MiningSam 2014-09-30 13:22:32