iphone - objective - ¿Cuál es el atributo de propiedad fuerte?
swift ios documentation (3)
Estoy usando la versión beta de Xcode para desarrolladores, y estoy notando algunas diferencias sutiles. Entre ellos se encuentra un nuevo atributo para las propiedades declaradas.
@property(strong)IBOutlet NSArrayController *arrayControl;
Mi pregunta es: ¿qué significa el atributo fuerte? ¿Reemplaza a alguno más viejo o es algo completamente nuevo? He buscado a través de google y la documentación del desarrollador y no he podido encontrar nada. Hasta que sepa de qué se trata, dudo en usarlo.
Gracias por adelantado
Como sabemos, no podemos liberar ningún objeto en un proyecto basado en ARC en iOS 5. Por lo tanto, cuando queremos retener cualquier objeto para su posterior uso en una etapa posterior y no queremos que ARC elimine el objeto de la memoria, establecemos la propiedad para el objeto como "Fuerte".
Es un reemplazo para el atributo de retain
, como parte del Conteo Automático de Referencia (ARC) de Objective-C . En código que no es ARC, es solo un sinónimo de retain
.
Una referencia fuerte es una referencia a un objeto que impide que se desasigne. En otras palabras, crea una relación de propietario. Mientras que anteriormente harías esto:
**// Non-ARC Compliant Declaration
@property(retain) NSObject *obj;**
En ARC hacemos lo siguiente para garantizar que una instancia de clase asigne un interés de propiedad a un objeto referenciado (es decir, de modo que no se pueda desasignar hasta que el propietario lo haga).
**// ARC Compliant Declaration
@property(strong) NSObject *obj;**