تغيير أسماء الطرق

التعليق التوضيحي لـ FALSECName

يمكنك إضافة تعليق توضيحي إلى أي من طُرق Java باستخدام @الأجهزة التي تريد ترجمتها لتغيير الاسم المترجَم لتلك الطريقة وأي طريقة تلغي هذا الاسم. مثال:

@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 للمفتاح، وقيمة محدد Goal-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.