Variables miembro de IOS variables de instancia variables de atributos
Según el ejemplo anterior: los datos del recuento de botones son una variable miembro;
Las variables de instancia son esencialmente variables miembro, pero la instancia es Clase, la instancia se refiere a la declaración de la clase;
Según el ejemplo anterior: el botón es una variable de instancia de datos y también es una variable de instancia, porque id es la única clase de OC, esencialmente id es equivalente a (void *);
La traducción al inglés de variable de instancia es variable de instancia (almacenamiento específico de objeto).
La traducción al inglés de instancia (expresión de clase) significa "expresión de clase", lo que significa que las variables de instancia deben ser variables definidas por la clase.
Además de los tipos de datos básicos int float...etc. , otros tipos de variables se denominan variables de instancia;
Variables de instancia + variables de tipo de datos básicos = variables miembro
De acuerdo con la naturaleza privada de las variables miembro, para facilitar el acceso, existen son variables de atributos;
Las variables de atributos son variables utilizadas para interactuar con otros objetos;
La ventaja de las variables de atributos es que permiten que otros objetos accedan a ellas porque el método set y el método get se generan automáticamente durante el proceso de creación de atributos; por supuesto, se puede configurar como de solo lectura o de escritura, y el método de configuración también se puede personalizar. Por tanto, las variables de propiedad son variables que se utilizan para interactuar con otros objetos.
Pero en la actualidad, parece que a todos no les gusta usar variables miembro para definir variables de clase, pero les gusta usar variables de atributos para definir variables de clase. Las variables que requieren vinculación externa están incluidas. Las variables utilizadas sólo en esta clase están en. archivo m.
La clasificación de OC permite agregar atributos a la clasificación, pero no genera automáticamente métodos getter y setter, por lo que es mejor no usarlos.
Si se declara una propiedad, el compilador solicitará al desarrollador que use el nombre de la propiedad @dynamic para escribir el método de establecimiento y el método de obtención de la propiedad en el archivo de implementación. Aquí, hay un objeto acústico asociado. Se requiere implementar el definidor y el captador (los enlaces del método de acceso se crean dinámicamente en tiempo de ejecución).
Después de declarar el atributo de propiedad, existen dos opciones de implementación.
@Synthesis
Durante la compilación, deje que el compilador genere automáticamente métodos getter/setter.
Cuando existe un método de guardar u obtener definido por el usuario, dicho método evitará la generación automática de ese método.
@dynamic
Dígale al compilador que no genere automáticamente métodos getter/setter para evitar advertencias durante la compilación;
Luego implementamos el método de acceso o el método de acceso nosotros mismos Método para crear enlaces dinámicamente en tiempo de ejecución: se utiliza principalmente cuando Core Data implementa subclases de NSMangedObject. El marco de Core Data genera dinámicamente propiedades de subclase cuando el programa se está ejecutando.