Sólo hacer el proxy un objeto estático y acceder a ella a través de métodos de nivel de clase, de la misma manera en que se implementa un conjunto unitario, por ejemplo
@implementation MyClass
+ (MyProxyObject *)proxy
{
static MyProxyObject *sharedProxy = nil;
if (sharedProxy == nil)
{
sharedProxy = [[MyProxyObject alloc] init];
}
return sharedProxy;
}
@end
Luego, para cualquier propiedad de su clase, p. textColor, solo haz que tu clase use el valor en [[self class] proxy] .textColor en lugar de almacenar su propio valor. P.ej.
@interface MyClass : UIView
@property (nonatomic, strong) textColor
@end
@implementation MyClass
- (UIColor *)textColor
{
return textColor ?: [[self class] proxy].textColor
}
@end
Si necesita una manera de refrescar sus puntos de vista en pantalla inmediatamente cada vez que se cambia una propiedad en el proxy, que podría hacer que al tener el proxy transmitió una NSNotification en su método textColor organismo, y tienen todos los casos observan esa notificación y el conjunto de llamadas NeedsDisplay en ellos mismos cuando lo reciben.
Gracias @Nick, eso es genial !. Voy a seguir tu recomendación. –
Oye, ¿por qué no aceptaste? ¿No funcionó para ti? –
Realmente lo hizo, pero hago clic en él por error. Lo siento, Nick. Aceptado de nuevo. –