0

두 개의 NSTableView를 사용하여 창을 설정했습니다. 핵심 데이터에는 두 개의 엔티티가 설정되어 있으며 그 중 하나에는 다른 큰 그룹의 멤버가 포함되어 있습니다 (예 : carsmanufacturers). 각 엔티티마다 엔트리 페이지가 설정되어있어 드롭 메뉴에서 다 대일을 선택할 때 오류가 없습니다. 지금 내가하려는 것은 한 걸음 더 나아가서 NSTableViewmanufacturer을 선택하면 manufacuturer과 관련된 cars의 목록이 두 번째 NSTableView에 나타납니다.인터페이스 표시기의 다른 표의 선택에 따라 테이블 표시가 달라집니다.

내가 그러나 단순히 내가 선택에 관계없이 manufacturer의 모든 car 항목의 목록을 보여주는 것, 나는 cars 개체의 값을 먹이의 manufacturer 팝업 버튼에 대해 수행 한 것과 유사한 바인딩을 사용하려고했습니다. 그러나 조건부 필터링 옵션을 볼 수 없으며 바인딩의 키 경로를 manufacturer.cars으로 설정하면 관계 오류가 표시됩니다. 어떻게하면 자식 테이블에 표시되는 것을 필터링 할 수 있습니까?

답변

1

두 개의 NSArrayController가 있어야합니다. 자동차 컨트롤러의 contentArray을 제조업체 컨트롤러에 연결하십시오. 컨트롤러 키는 selection (즉, 선택된 제조업체)이며, 모델 키 경로는 제조업체의 차량을 포함하는 속성의 키 경로입니다.

그런 다음 자동차 테이블 뷰의 열을 자동차 컨트롤러의 arrangedObjects 속성에 바인딩하십시오.

+0

나는이 작업을 시도하고 있지만 편집 페이지의 콘텐츠가 제대로 표시되지 않도록하고 마스터/하위 디스플레이의 모든 선택 항목을 클릭하면 바로 사라지게합니다. 여기서 이중 확인이 필요한 단계가 있습니까? – Kaji

+0

예, 모델 키 경로를 신중하게 확인하십시오. 그들은 "selection.name"이나 "selection.brand"와 같이 보일 것입니다. 사실, 모든 이름을 확인하십시오 : 예를 들어, 엔티티는 제조업체라고 불리는 제조업체입니까? 또한 데이터 모델의 관계를 확인하십시오. 자동차와 일대 다 관계가 필요한가요? –

+0

'selection'은 모델 키 경로의 일부가 아닌 컨트롤러 키 여야합니다. –