การเปลี่ยนชื่อเมธอด

หมายเหตุ 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 Virtual Machine กำหนด ข้อมูลจำเพาะ ด้านขวา คำจำกัดความด้วยมือประกอบด้วยตัวเลือก iOS (เช่น สิ่งที่คุณจะส่งไปที่ @selector()) เมธอดและการแมปต้องมีจำนวนพารามิเตอร์เท่ากัน

อีกตัวอย่างหนึ่ง บรรทัดนี้เทียบเท่ากับตัวอย่างในส่วนก่อนหน้า

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

สามารถระบุไฟล์การแมปเพิ่มเติมในบรรทัดคำสั่งได้โดยใช้ตัวเลือก --mapping