내 모델 객체의 배열을 관리하는 컨트롤러에서 변경할 수있는 배열에 NSArrayController
이 바인딩되었습니다. 배열 컨트롤러가 내 UI에 바인딩됩니다. 잘 작동한다.코코아 바인딩 및 NSArrayController로 모델 변경 관찰
컨트롤러 클래스에서 내 모델의 값이 변경되면 수동으로 관찰하려고합니다. (기본적으로 변경된 모델을 나중에 'needsToSave'로 표시합니다.하지만 다음과 같은 몇 가지 다른 작업이 있습니다. 그것은 바뀐다).
KVO를 읽었지만 관찰해야 할 것이 무엇인지 잘 모르겠습니다 ... NSArrayController? 객체의 배열? 각 모델 객체 자체? 혼동.
모든 포인터가 매우 유용 할 것입니다. 미리 감사드립니다!
그래서 내 컨트롤러에서 나는 다음과 같은 것을 가질 것이다 :'-addNewObject {MyObj * obj = ...; [obj addObserver : self ...]; [myArrayController addObject : obj];'그게 뭐죠? – jbrennan
이것이 본질적으로 옳다면, addObserver : self forKeyPath : aKeyPath options : NSKeyValueObservingOptionOld context : NULL'을 사용하고자하는 각 키 경로를 관찰하기 시작할 필요가 있습니다. 여러 개의 키 경로를 관찰해야 할 수도 있으므로 관찰 방법을 시작하고 중지 할 수 있습니다. setArray : 메소드를 사용하여 모든 항목을 개별적으로 열거하고 이전 배열 항목의 관찰을 중지하고 새 항목부터 시작하는 방법을 잊었습니까? BTW, 당신이 문서 기반이라면 당신은 'needsToSave'부분에 저장하기 위해 문서가 지저분한지를 확인할 수 있습니다. – theMikeSwan