Me gustaría usar propiedades para mis variables de instancia, pero en muchos casos, solo quiero que la clase tenga acceso al setter. Tenía la esperanza de que pudiera hacer algo como esto:¿Puedo crear propiedades con un getter público y un setter privado?
foo.h:
@interface Foo {
NSString *bar;
}
@property (readonly) NSString *bar;
@end
Foo.m:
#import "Foo.h"
@interface Foo()
@property (copy) NSString *bar;
@end
@implementation Foo
@synthesize bar;
@end
Pero esto genera una advertencia:
Foo.m:4: warning: property ‘bar’ attribute in ‘Foo’ class continuation does not match class ‘Foo’ property
I puede ver de qué se queja, pero todavía parece una expresión útil. ¿Hay alguna otra forma de lograr esto sin escribir mis propios setters?
Eh, eso nunca se me ocurrió ya que 'copiar' es irrelevante para el comprador. ¡Gracias! –