Me gustaría usar la sintaxis @property
para declarar una propiedad sintetizada que es públicamente de solo lectura pero tiene un setter que se puede llamar de manera privada desde la clase.Propiedad Objective-C que es de solo lectura pública, pero tiene un setter privado
Dado que se trata de Objective-C, esto significa básicamente que se sintetizará el método setFoo:
, pero llamarlo fuera de la clase en sí generaría una advertencia (selector no reconocido). Para activar la advertencia, debo declarar la propiedad readonly
; ¿Hay alguna forma de forzar un setter sintetizado que solo esté disponible dentro de la clase?
Usted es correcta , consulte también http://stackoverflow.com/questions/743586/synthesizing-properties-in-categories/3251621#3251621 –
Esta es una excelente forma de aprovechar la comodidad de las propiedades mientras mantiene la encapsulación necesaria. :) Me encanta esta capacidad. – LucasTizma
Enlace de documentación actualizado: http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html#//apple_ref/doc/uid/TP40011210-CH6-SW3 –