En código no ARC, las propiedades retenidas se ocupan de la gestión de la memoria con la sintaxis self.property =
, por lo que nos enseñaron a usarlas prácticamente para todo.Con ARC, ¿por qué usar @properties?
Pero ahora, con ARC, esta gestión de la memoria ya no es un problema, ¿así que la razón para usar propiedades se evapora? ¿hay alguna razón válida (obviamente que no sea para proporcionar acceso público a variables de instancia) para usar propiedades?
También las propiedades también hacen que sea más fácil y seguro agregar semántica de copia y semántica atómica. Además de crear una propiedad con un nombre y una variable de instancia con otra usando @synthesize propname = ivarname; siempre es útil – Cthutu
De acuerdo, gracias por la respuesta. También me gustaría añadir que se habla mucho sobre @property performance vs ivars. Te desafío a encontrar una diferencia de rendimiento entre una propiedad no atómica y una ivar ... es probablemente insignificante insignificante. –
¿No estaría de acuerdo con que las palabras clave de modificador débiles, fuertes, atómicas, etc. son indicadores útiles para usted en su API y también para que el propio arco entienda su intención? – Jef