NSCollectionView 기반 마스터 - 세부 인터페이스 인 을 마스터에 표시하고 상세보기의 목록 + 카드를 표시하고자합니다.계층 적 모델 용 코코아 바인딩
Board
는 입력 목록 List
의 NSMutableArray
특성 lists
을 보유하고 형 카드 Card
의 NSArray
특성 cards
를 보유하는 NSString
속성이 name
의 관계는 따라서 보드 -> 일대 목록 - -> 많음 카드
마스터 인터페이스가 정상입니다.
상세 인터페이스에는 보드의 해당 목록의 제목 이 채워집니다. 세부 인터페이스 내에서 모든 목록에 대해 카드를 사용하여 NSPopupButton을 채 웁니다.
문제 : NSPopupButton이 비어 있습니다.
Output: [<__NSArrayI 0x60000007b240> addObserver:forKeyPath:options:context:] is not supported. Key path: name
그래서 KVO, KVC와 바인딩 문서를 읽은 후 나는 계층 모델의 종류에 대한 매뉴얼 KVO을해야하는 경우 확실하지 않다. 또한 출력은 name 속성이 KVC/KVO를 따르지 않는다는 것을 암시하지만 NSString 일뿐입니다.
NSTreeController를 사용 하시겠습니까?
바인딩과 같이 설정은 다음과 같습니다
BoardArrayController ->
- ** 모델 키 경로 파일의 소유자에 바인딩 : 보드
ListArrayController -> BoardArrayController
에 바인딩-
은
- ** 컨트롤러 키 : arrangedObjects
- ** 모델 키 경로 : 목록
- ** 모드 : 클래스
CardArrayController -> ListArrayController
에 바인딩- ** 컨트롤러 키 배열 객체
- ** 모델 키 경로 : 카드
- ** 모드 : 클래스
NSPopupButton는
- 컨트롤러 내용에 대한 키가 있습니다 arrangedObjects를 내용 가치
- 컨트롤러 키 : arrangedObjects 및 모델 키 경로 : 내가 제대로 이해한다면
는 제안에,
목록 이름과 카드는 상세보기에 직접 표시됩니다. 왜 배열 객체가 아닌'selection'을 사용해야합니까? – Rabiees
NSCollectionViewItem의 @mikeD와 조합하여 수정 한 내용이 적용됩니다. 이제 NSTableColumn에 동일한 내용을 채우고 내용을 채우려 고 시도했지만 작동하지 않습니다. 대신에'CardArrayController'와 Controller Key : 선택과 M.K.P 이름을 사용하면 행을 선택할 수 있지만 텍스트는 포함되어 있지 않습니다. – Rabiees