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.