Mengubah Nama Metode

Anotasi ObjectiveCName

Anda dapat menganotasi metode Java apa pun dengan @ObjectiveCName untuk mengubah nama terjemahan metode tersebut dan metode apa pun yang menggantinya. Contoh:

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

diterjemahkan sebagai:

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

File Pemetaan

Nama metode dapat diubah menggunakan tanda --mapping, yang mengambil file properti dengan pemetaan yang akan digunakan. Setiap pemetaan metode ditentukan dengan tanda tangan metode Java lengkap untuk kunci, dan nilai pemilih Objective-C. Misalnya, baris untuk memetakan Object.equals() ke NSObject.isEqual: adalah:

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

Deklarasi sebelah kiri adalah tanda tangan metode lengkap, seperti yang ditetapkan oleh Spesifikasi Mesin Virtual Java. Definisi di sebelah kanan terdiri dari pemilih iOS (yaitu yang akan Anda teruskan ke @selector()). Metode dan pemetaannya harus memiliki jumlah parameter yang sama.

Sebagai contoh lainnya, baris ini setara dengan contoh di bagian sebelumnya:

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

File pemetaan tambahan dapat ditetapkan pada baris perintah, dengan menggunakan opsi --mapping.