que tienen un protocolo sencillo con una propiedad:valor-clave Observando en un objeto de protocolo: Advertencias del compilador en addObserver:
@protocol StopsSource <NSObject>
@property (retain,readonly) NSArray * stops;
@end
estoy añadiendo un observador clave-valor en otro lugar para escuchar a los cambios a la " paradas" propiedad:
id<StopsSource> source = ...
[source addObserver:self
forKeyPath:@"stops"
options:NSKeyValueObservingOptionNew
context:nil];
código funciona como se espera en que se añaden eventos observeValueForKeyPath cuando el 'paradas' propiedad se cambia. La molestia real es una advertencia del compilador en la llamada addObserver:
warning: '-addObserver:forKeyPath:options:context:' not found in protocol(s)
El método 'addObserver' se define en una categoría a NSObject:
@interface NSObject(NSKeyValueObserverRegistration)
¿Hay alguna manera de obtener XCode para dejar esta advertencia ? Tengo entendido que los protocolos no pueden adoptar categorías, por lo que no estoy seguro de cómo incorporar los métodos NSKeyValueObserverRegistration en mi protocolo, salvo copiar las declaraciones en el protocolo mismo, lo que parece un truco.
Sé que este es un problema un tanto trivial, en el sentido de que es solo una advertencia del compilador, pero me interesa saber si existe una forma "correcta" de solucionarlo.
Sede de Abizern para obtener información importante, pero a su problema específico , reemplace 'id' con NSObject * source = ... –