Cómo cambiar los nombres de los métodos

Anotación de ObjectiveCName

Puedes anotar cualquier método de Java con @ObjectiveCName para cambiar el nombre traducido de ese método y cualquier método que lo anule. Por ejemplo:

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

se traduce de la siguiente manera:

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

Archivo de asignación

Los nombres de los métodos se pueden cambiar con la marca --mapping, que toma un archivo de propiedades con el asignaciones que se usarán. Cada asignación de métodos se define con la firma completa del método de Java para la clave. un valor de selector de Objective-C. Por ejemplo, la línea para asignar Object.equals() a NSObject.isEqual: es:

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

La declaración de la izquierda es la firma completa del método, definida por la máquina virtual Java. Especificación. La derecha la definición manual consiste en el selector de iOS (es decir, lo que se pasaría a @selector()). El método y su asignación deben tener la misma cantidad de parámetros.

Como otro ejemplo, esta línea es equivalente al ejemplo de la sección anterior:

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

Se pueden especificar archivos de asignación adicionales en la línea de comandos, con la opción --mapping.