2009-08-04 2 views
1

Interface Builder를 통해 NSCollectionView을 설정했습니다. 내 프로토 타입보기에는 진행 표시기와 텍스트 필드가 있습니다. 내 "작업"개체가 진행률 표시기 및 텍스트 필드 값의 값을 유지할 수 있도록 바인딩을 설정했습니다.NSCollectionView가 데이터 변경시 서브 뷰를 업데이트하지 않습니다.

내 배열 컨트롤러에 추가하는 [NSCollectionView newItemForRepresentedObject:]을 통해 컬렉션에 새 개체를 추가해도 모두 정상적으로 작동합니다. 진행 표시기 및 텍스트 필드의 초기 값이 적절하게 설정됩니다. 그러나 값이 변경되면 프로토 타입보기에 반영되지 않습니다. 값은 항상 초기 값을 유지합니다.

"task"개체의 프로토 타입 뷰에 대한 포인터를 추가하고 [NSView setNeedsDisplay:TRUE]을 통해 업데이트를 시도했지만 아무런 효과가 없습니다. 프로토 타입 뷰를 서브 클래 싱하여 진행률 표시기에 콘센트를주었습니다. 그래서 뷰가 성공적으로 생성되었지만 진행률 표시기가 아니더라도 런타임에 값을보고 이상하게도 그 값을 볼 수 있습니다. 실제로 초기 값을 표시하고 유지한다는 사실과 모순됩니다!

현재 설정을 사용하여 변경 사항을보기에 전파 할 수있는 방법이 있습니까?

미리 감사드립니다.

답변

2

바인딩 설정이 충분해야합니다.

귀하의 진행률 표시기는 무엇입니까? 진행률 값이 업데이트되면 KVO 알림을 보내고 있는지 확인하십시오.

+0

진행률 막대의 값은 double variable 유형의 값에 바인딩됩니다. 프로토 타입 뷰의 하위 클래스에 정의 된 콘센트에서도 참조됩니다. KVO 알림을 발송한다는 것을 정확히 확인한다는 것은 무엇을 의미합니까? –

+0

그것은 괜찮 았어, 대신 setter 메서드를 사용하여 - 사용 [셀프 setValue : forKey]! 감사합니다. –

+0

이 답변을 올바르게 표시해야합니다 :-) –

관련 문제