ObjectiveCName Annotation
برای تغییر نام ترجمه شده آن متد و هر روشی که آن را لغو می کند، می توانید هر روش جاوا را با @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 تغییر داد، که یک فایل خصوصیات با نگاشت ها را برای استفاده می گیرد. نگاشت هر روش با امضای کامل متد جاوا برای کلید و مقدار انتخابگر Objective-C تعریف می شود. برای مثال، خط نگاشت Object.equals() به NSObject.isEqual: است:
java.lang.Object.equals(Ljava/lang/Object;)Z = isEqual:
اعلان دست چپ امضای روش کامل است، همانطور که توسط مشخصات ماشین مجازی جاوا تعریف شده است . تعریف دست راست شامل انتخابگر iOS است (یعنی آنچه را که به @selector() ارسال می کنید). متد و نگاشت آن باید تعداد پارامترهای یکسانی داشته باشد.
به عنوان مثال دیگر، این خط معادل مثال در بخش قبل است:
pkg.ClassName.setTime(III)V = setTimeWithHours:minutes:seconds:
فایل های نقشه برداری اضافی را می توان در خط فرمان با استفاده از گزینه --mapping مشخص کرد.