變更方法名稱

ObjectiveCName 註解

您可以使用以下程式,為任何 Java 方法加上註解 @ObjectiveCName,以變更 該方法及任何覆寫該方法的方法例如:

@ObjectiveCName("setTimeWithHours:minutes:seconds:")
public void setTime(int hours, int minutes, int seconds) {
  ...
}

翻譯為:

- (void)setTimeWithHours:(jint)hours
                 minutes:(jint)minutes
                 seconds:(jint)seconds;

對應檔案

您可以使用 --mapping 標記變更方法名稱,該標記會接收屬性檔案 要使用的對應每個方法對應都是以鍵的完整 Java 方法簽章來定義。 Objective-C 選取器值。例如,將 Object.equals() 對應至 NSObject.isEqual 的線條: 為:

java.lang.Object.equals(Ljava/lang/Object;)Z = isEqual:

左手宣告是完整的方法簽章,由 Java 虛擬機器定義 規格。右側 手定義是由 iOS 選取器 (也就是您想傳遞至 @selector() 的內容) 組成。 方法及其對應必須有相同數量的參數。

再舉一個範例,這行程式碼與上一節中的範例相同:

pkg.ClassName.setTime(III)V = setTimeWithHours:minutes:seconds:

您可以透過指令列使用 --mapping 選項,透過指令列指定其他對應檔案。