아래에 표시된 NSString * fileName 및 NSDictionary * 프레임의 두 속성을 가진 클래스가 있습니다.NSDictionary 하위 사전 값을 Cocoa에서 어떻게 바인딩 할 수 있습니까?
- 있는 NSDictionary *는
- 키 프레임 :있는 NSString
- 값 :의 NSNumber (C++ ENUM 값)
- 값 : 필드 인스턴스
- 있는 NSDictionary * 필드
- 키의 사전 : NSValue (C++ 객체 포인터)
각 파일을 나열하는 NSTableView로 마스터 세부 정보보기를 만들고 싶습니다. fileName은 바인딩하기에 충분하지만 첫 번째 열의 모든 열이나 필드를 세부 정보보기의 필드와 하위 사전의 값에 바인딩하는 방법을 알아낼 수 없습니다.
어쨌든 나는 C++ 객체 메소드에 바인딩 할 수 없다고 생각합니다. 필드 하위 사전 값에 대한 사용자 지정 컨트롤러가 필요하다고 생각하고 있습니다. 커스텀 컨트롤러가 KVC를 준수하도록하여 enum 키로 필드 값에 액세스 할 수 있고, 사용중인 C++ 라이브러리에 따라 enum으로 정의 된 유형에 적합한 메소드를 호출 할 수 있습니까?
또는 각 필드의 데이터를 필드 사전의 값으로 저장해야합니까? GUI에서 값을 수정 한 후에는 어쨌든 사전을 처리하는 메소드를 실행해야합니다.이 시점에서 C++ 필드 객체를 재구성하고 적절한 메소드를 호출 할 수 있습니다.
상관없이 내 과제는 중첩 된 사전에 대한 바인딩을 알아내는 것입니다.
나는 내 질문을 게시 한 후 NSString 대 NSNumbers 것을 알아 냈습니다. 마지막으로 각 필드의 데이터를 하위 사전의 값으로 저장하는 마지막 제안으로 끝 맺었습니다. 지금은 어떤 컨트롤러 객체를 사용할 것인지, 뷰에 링크하는 방법, 올바른 키로 뷰를 구성하는 방법 등을 파악하는 것만으로도 충분하다고 생각합니다. – Matt