iOS -

1. Categoría

  Categoría es agregar métodos a la clase original, no se pueden agregar atributos

  @Property en la categoría solo generará declaraciones getter.setter, y no generará implementaciones de métodos y variables miembro.

  La clasificación puede acceder a las propiedades declaradas en la clase original. H

  Si un método en una categoría tiene el mismo nombre que el método original, entonces llamar al método con la clase original es realmente llamar al método de la categoría.

  Si varias categorías tienen el mismo método que la clase original, el compilador decide a cuál llamar al llamar. Se llama al método en la última categoría involucrada en la compilación.

2. Extensión

  Puede ampliar las variables y métodos de miembros privados para la clase

  Escrito en .m

  @interface nombre de clase ()

  @final

3. Bloquear

  Block es un tipo de datos especial de iOS, que se usa para guardar un determinado código y luego llamarlo cuando sea necesario

  

Tipo de valor de retorno (^ blockName) (lista de parámetros formales); 
blockName = ^ (lista de parámetros formales) {code}; // guardar código 
blockName = ^ {}
block (); // call
typedef  int (^ sumBlock) ( int , int ); 
sumBlock = ^ ( int num1, int num2) { return num1 + num2;}; 
sumBlock ( 2 , 3 );

 Block puede acceder a variables externas y también puede definir los mismos nombres de variables que las variables externas, pero de forma predeterminada, las variables externas no se pueden modificar (un valor de aprobación)

el bloque accede a las variables externas, el bloque copiará las variables externas a la memoria del montón

int a = 10 ; 
 void (^ block) () = ^ { 
    NSLog ( " % i " , a);   // copia una copia de a = 10 en la memoria de almacenamiento dinámico 
}; 
a = 20 ; 
block (); // this Al imprimir 10

Si el bloque desea modificar el valor de la variable externa, debe agregar __bloque delante de la variable externa. En este momento, si el bloque cambia el valor de la variable externa, afectará el valor de la variable externa (valor de transferencia de dirección & a)

Por defecto, bloquear 

Supongo que te gusta

Origin www.cnblogs.com/yintingting/p/12675983.html
Recomendado
Clasificación