ReactiveCocoa realización del principio de rac_signalForSelector

ReactiveCocoa puede invocar un método para agregar un enlace, o es un observador.

rac_signalForSelector: acuerdo vinculante fromProtocol :( método)

rac_signalForSelector :( unión método de clase)

principio:

  1. Proporcionado atributos asociados en la clase actual, valor: RACSubject
  2. La manera de lograr el selector de entrada se establece en _objc_msgForward (El objetivo es dejar ir de este método llamado método de flujo de reenvío)
  3. "Categoría actual" reescritura o añadir respondsToSelector: método, compruebe existe la propiedad relacionada, existe: se vuelve positivo, el método siguiente paso hacia adelante
  4. "Categoría actual" reescritura o añadir methodSignatureForSelector: método, el método de construcción de la firma
  5. "Clase actual" reescritura o la adición de forwardInvocation: método 1): método de inspección puede ser llamada, la ejecución del método Invoke; 2): obtener el atributo de clase asociado, la ejecución sendNext RACSubject, el método de envasado en el parámetro de invocación en RACTuple como parámetros sendNext.

La razón de todo el método llama a un método unificado para ir hacia adelante el proceso, el propósito es que se puede acceder fácilmente a los parámetros del objeto de invocación de método.

 notas:

Dicha encima "de la clase actual", no el código real para crear instancias de la clase, pero dinámicamente crear una clase A, clase y herencia, a continuación, ISA puntero al conjunto de la clase a la clase A (en este caso es el uso de MVA principio de aplicación).

Debido a que esta clase es posible añadir una cuenta de MVA, puntero del ISA a la clase lo que no es self.class puntos a la clase, y después tenemos que volver a escribir o añadir más métodos en esta NIA clase puntero apunta a la clase.

De hecho, para lograr el patrón de diseño de MVA es el uso de la forma en racimos de clase, se puede ver como racimos .

Supongo que te gusta

Origin www.cnblogs.com/zbblog/p/12540628.html
Recomendado
Clasificación