Objective-C LanguagePropiedades


Sintaxis

  • @property ( optional_attributes, ... ) identificador de tipo ;
  • @synthesize identifier = optional_backing_ivar ;
  • identificador @dynamic;

Parámetros

Atributo Descripción
atomic Implícito. Habilita la sincronización en métodos de acceso sintetizados.
nonatomic Desactiva la sincronización en los métodos de acceso sintetizados.
readwrite Implícito. Sintetiza getter, setter y respaldo ivar.
readonly Sintetiza solo el método getter y el respaldo de ivar, que se pueden asignar directamente.
getter= nombre Especifica el nombre del método getter, implícito es propertyName .
setter= nombre Especifica el nombre del método de establecimiento, implícito es setPropertyName: Colon : debe ser parte del nombre.
strong Implícito para objetos bajo ARC . El respaldo ivar se sintetiza utilizando __strong , lo que evita la desasignación del objeto referenciado.
retain Sinónimo de strong .
copy Igual que strong , pero el definidor sintetizado también llama a la -copy en el nuevo valor.
unsafe_unretained Implícito, excepto para los objetos bajo ARC. El soporte ivar se sintetiza utilizando __unsafe_unretained , que (para objetos) da como resultado un puntero colgante una vez que el objeto referenciado se desasigna.
assign Sinónimo para unsafe_unretained . Adecuado para tipos sin objeto.
weak El respaldo de ivar se sintetiza utilizando __weak , por lo que el valor se __weak una vez que se desasigne el objeto al que se hace referencia.
class Los accesores de propiedades se sintetizan como métodos de clase, en lugar de métodos de instancia. No se sintetiza ningún almacenamiento de respaldo.
nullable La propiedad acepta valores nil . Utilizado principalmente para puentes rápidos.
nonnull La propiedad no acepta valores nil . Utilizado principalmente para puentes rápidos.
null_resettable La propiedad acepta valores nil en el establecedor, pero nunca devuelve valores nil de getter. Su implementación personalizada de getter o setter debe garantizar este comportamiento. Utilizado principalmente para puentes rápidos.
null_unspecified Implícito. La propiedad no especifica el manejo de valores nil . Utilizado principalmente para puentes rápidos.

Propiedades Ejemplos relacionados