나는 KVC/KVO에 맞았다. 강력한 슈퍼. 한 가지 문제가 있습니다. MVC etho가 사실이 되려고하지만 Objective-C 클래스 인스턴스의 할당 또는 할당 해제를 모니터링하는 관찰 패턴을 사용할 방법이 없습니다.개체 인스턴스 생성/제거를 어떻게 관찰합니까?
컨트롤러 (또는 위임자)로부터 관찰하고자하는 내부 메시지가 세분화 된 모델을 가지고 있기 때문에 실제로 중요합니다. 내게 걸림돌은 내가 모델 외부에서 어떻게 캡슐화를 손상시킬 모델의 내부 논리에 대해 알지 않고 컨트롤러가 할당 해제 될 하위 구성 요소에 대한 관찰자를 제거 할 수 있는지를 보지 못한다는 것입니다.
누군가이 시나리오에 대한 접근 방식을 제안 할 수 있습니까?
덕분에, 더그
당신은 그것을 Jim에게 못 박았습니다. 설명해 주셔서 감사합니다. 나는 인스턴스 자체를 관찰해야하는 객체의 인스턴스를 참조하는 ivar이라는 사실을 완전히 무시했습니다. 그리고 더 나아가 dot syntac - grandparent.parent.child를 사용하여 - 객체 그래프에서 어떤 것도 관찰 할 수 있습니다. 컬렉션을 관찰하기위한 KVO 패턴이 있다고 가정합니다. 그렇습니까? 2 엄지 손가락으로 짐. -Doug – dugla
관계에 대한 특성을 준수합니다. 내 그림 응용 프로그램에서 "모양"속성을 관찰 할 것입니다. 문서 개체의 구현 자로서 _shapes ivar을 변경할 때마다 KVO와 호환되는 방식으로 처리해야합니다. NSKeyValueObserving.h를 통해 읽은 KVO 알림에서 관계의 변형을 래핑해야하며, 그러한 변형이 발생하면 관찰자 콜백에서 볼 수있는 정보는 무엇인지 알아야합니다. –