tengo subclase de NSObject tener 70 propiedades, i necesidad de observar el cambio en todos ellos y sin la adición de cada propiedad de uno en uno utilizando siguiente:cómo observar cambio en las propiedades NSObject
[self addObserver: self
forKeyPath: @"propertyname"
options: NSKeyValueObservingOptionNew
context: NULL];
. Por favor, hágame saber la manera más fácil de hacerlo. En este momento, necesito una solución para 10.5 y posterior.
Gracias por su valiosa respuesta. Las propiedades de mi clase se vinculan directamente con varios controles de IU en XIB. Necesito permitir que los usuarios detecten cambios en los controles de IU actuales y notifiquen al usuario que guarde los cambios si cierran el XIB principal sin guardar los valores actuales. Trataré de implementar como mencionas y me avisarás si eso funciona para mí. – AmitSri
Dado ese caso de uso, realmente quiero que haya una mejor manera de hacerlo. He estado leyendo alrededor de NSObjectController en caso de que haga lo que quiere, pero no puedo encontrar mucha información para situaciones en las que no está utilizando Core Data. No lo he intentado, pero parece una idea: crear una subclase NSObjectController, crear instancias en IB y configurar su objeto de contenido para que sea su NSObject. Vincula toda tu UI al NSObjectController, con las mismas teclas. Luego, en el código, anule 'objectDidEndEditing:' en su subclase de controlador, y haga que esa llamada sea un método en cualquier clase que haga el guardado. –
Gracias por su sugerencia, veré si puedo cambiar mi implementación en el futuro como sugirió. Actualmente, he implementado keyPathsForValuesAffectingValueForKey como sugirió y parece funcionar ahora. – AmitSri