Anotasi ObjectiveCName
Anda dapat menganotasi metode Java apa pun dengan @ObjectiveCName untuk mengubah nama terjemahan metode itu dan metode apa pun yang menggantikannya. 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 didefinisikan dengan tanda tangan metode Java lengkap untuk kunci tersebut, 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 di sebelah kiri adalah tanda tangan metode lengkap, seperti yang ditetapkan oleh Java Virtual Machine Spesifikasi. Kanan tangan terdiri dari pemilih iOS (yaitu apa yang akan Anda teruskan ke @selector()). Metode dan pemetaannya harus memiliki jumlah parameter yang sama.
Sebagai contoh lain, baris ini setara dengan contoh di bagian sebelumnya:
pkg.ClassName.setTime(III)V = setTimeWithHours:minutes:seconds:
File pemetaan tambahan dapat ditentukan pada command line, menggunakan opsi --mapping.