Yöntem Adlarını Değiştirme

ObjectiveCName Ek Açıklaması

Herhangi bir Java yöntemine ek açıklama girebilirsiniz Çevrilmiş adını değiştirmek için @ObjectiveCName yöntemi ve bunu geçersiz kılan yöntemler için geçerlidir. Örneğin:

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

şu şekilde çevrildi:

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

Eşleme Dosyası

Yöntem adları, eşlemeler var. Her yöntem eşlemesi, anahtar için tam Java yöntem imzasıyla tanımlanır ve Objective-C seçici değeri. Örneğin, Object.equals() ile NSObject.isEqual'i eşleyecek satır: şununla eşleşir:

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

Sol taraftaki bildirim, Java Sanal Makinesi tarafından tanımlanan şekilde tam yöntem imzasıdır Spesifikasyon. Sağ el tanımı, iOS seçicisinden (ör. @selector() öğesine ileteceğiniz öğeler) oluşur. Yöntem ve eşlemenin aynı sayıda parametreye sahip olması gerekir.

Başka bir örnek olarak, bu satır önceki bölümde verilen örneğe eşdeğerdir:

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

Ek eşleme dosyaları, --mapping seçeneği kullanılarak komut satırında belirtilebilir.