Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo encontrar la dirección IMP correspondiente a través del selector en tiempo de ejecución?

¿Cómo encontrar la dirección IMP correspondiente a través del selector en tiempo de ejecución?

Donde se almacenan las instancias y los métodos de clase:

Selector

Definición:

Traducido al chino, se llama selector o selector , que representa el identificador del método en tiempo de ejecución. Cuando se carga una clase, el compilador genera un selector correspondiente al método y lo registra en el sistema de ejecución Objective-C.

Hay dos formas comunes de obtener/crear un selector:

Prueba en la consola:

Ambos métodos imprimirán la cadena.

Podemos ver en el código fuente del método sel_getName() que SEL y const char * se pueden convertir entre sí:

Si selA y selB se fuerzan a const char * :

p>

Los resultados anteriores muestran que selA y selB apuntan a la misma dirección y representan la misma cadena.

Si una clase implementa el método setString:, cuando estos dos selectores se pasen al método respondsToSelector(), ambos devolverán SÍ.

Implementación (IMP):

Definición:

Representa un puntero de función, que es el punto de entrada para la ejecución de la función. Las funciones utilizan llamadas C estándar.

Método

Definición:

Un método es un tipo opaco para el desarrollador que es un puntero a una estructura objc_method. La definición de objc_method es la siguiente:

Resumen de preguntas de la entrevista de iOS