2010-06-09 6 views
2

상상 코어 데이터와 함께 사용하기위한 NSComboBox에 대한 올바른 바인딩은 무엇입니까 두 엔티티 (직원 및 부서)와 코어 데이터 응용 프로그램. 직원은 부서 (부서)와 1 대 1의 관계를 갖고 역인은 다 대다 관계 (직원)입니다. UI에서 개별 Employee 엔티티를 선택하고 세부 정보 영역에서 세부 사항을 편집 할 수 있습니다 (물론 다른 속성이 있으며 Department 엔티티를 추가 및 편집하기위한 UI가 있습니다). 팝업 버튼을 사용하는 경우, 바인딩은 :당신이 경우

함량 = PopUpArrayController.arrangedObjects
콘텐츠 값 = PopUpArrayController.arrangedObjects.name
객체 선택 (이름이있는 NSString이다) =이 팝업 메뉴의 모든 부서의 시청 가능 EmployeeArrayController.selection.department.name

, 현재 직원의 부서를 올바르게 선택하고 해당 부서를 예상대로 변경할 수 있습니다. 목표는 사용자가 상자로 탭하고 마우스로 전환하지 않고 부서 이름을 입력 할 수 있도록 NSComboBox에 대해이를 변경하는 것입니다. 나는 이것을 달성하기 위해 다양한 바인딩을 시도했다. 심지어는 이러한 바인딩 하나의 실행을 위해 일했다 : =

내용 = PopUpArrayController.arrangedObjects.name
EmployeeArrayController.selection.department.name

입력 한 텍스트가 일치하지 않은 경우

가 적어도 한 번 예상대로이 일을 (그것도 새로운 부서를 추가 기존 부서). 그러나 이제는 사용 가능한 부서 및 자동 완성이 표시되지만 콤보 상자에서 값이 변경되면 모델을 올바른 값으로 업데이트하지 않습니다. 부서가 설정되거나 팝업으로 변경되면 콤보 상자에 정확한 부서가 표시됩니다.

내가 누락 된 항목을 아는 사람이 있습니까? 감사.

답변

3

그래서이 문제에 대한 적어도 한 가지 대답을 알아 냈습니다. 짧은 버전은 바인딩을 사용하여이 효과를 얻는 방법이 없다는 것입니다. 마지막으로 웹에서 http://frankschmitt.org/2007/06/comboboxen이 문제를 해결하기에 충분한 세부 정보를 얻었습니다 (게시물의 코드 서식에 문제가 있지만 NSValueTransformer의 문서가 구멍에 채워짐).

관련 문제