내가, 내가 각 속성에 하나씩 사용하여 다음을 추가하지 않고 그들 모두의 변화를 관찰 할 필요가 70 개 특성을 갖는 NSObject의 하위 클래스가 있습니다NSObject의 속성에 변화를 관찰하는 방법
[self addObserver: self
forKeyPath: @"propertyname"
options: NSKeyValueObservingOptionNew
context: NULL];
. 가장 쉬운 방법을 알려주십시오. 지금 당장은 10.5 이상의 솔루션이 필요합니다.
귀중한 답변에 감사드립니다. 내 클래스 속성은 XIB의 여러 UI 컨트롤과 직접 바인딩됩니다. 사용자가 현재 UI 컨트롤의 변경 사항을 감지하고 현재 값을 저장하지 않고 주 XIB를 닫으면 변경 사항을 저장하도록 사용자에게 알릴 수 있도록해야합니다. 나는 당신이 언급하는대로 구현하려고 노력할 것이고, 그것이 저에게 효과가 있는지 알려줄 것입니다. – AmitSri
그 유스 케이스를 감안할 때, 나는 이것을하기위한 더 좋은 방법이되고 싶습니다. 내가 NSObjectController 주위에 당신이 원하는 것을 않습니다 읽을 수 있었지만, 당신이 핵심 데이터를 사용하지 않는 상황에 대한 많은 정보를 찾을 수 없습니다. 나는 이것을 시도하지 않았지만 생각처럼 보입니다 : NSObjectController 서브 클래스를 만들고, IB에서 인스턴스를 만들고, NSObject가되도록 content 객체를 설정하십시오. 동일한 키를 사용하여 모든 UI를 NSObjectController에 바인딩하십시오. 그런 다음 코드에서 컨트롤러 하위 클래스의'objectDidEndEditing :'을 재정의하고 저장을 수행해야하는 클래스의 메소드를 호출합니다. –
제안 해 주셔서 감사 드리며 앞으로 제안 사항을 변경할 수 있는지 확인하겠습니다. 현재, 제안한대로 keyPathsForValuesAffectingValueForKey를 구현했으며 현재 나를 위해 작동하는 것 같습니다. – AmitSri