보기 컨트롤러간에 Cocoa Bindings를 사용하는 경우에 어려움을 겪고 있습니다. 영감에 대한 링크를 확인했지만 여전히 그렇지 않습니다. 나는 그것이 ...윈도우의 여러보기 컨트롤러에서 바인딩하는 코코아
비슷한 주제를 질문을 게시하고 내 마음을 조금 휴식을하는 것이 좋습니다 생각 : Binding selection across multiple view controllers in a single window interface
Sharing an NSArrayController between multiple views in separate NIB files
내가 두 개의 사용자 정의보기 하나의 메인 컨트롤러 MainViewController.m/.h/.xib
있습니다.
별도의보기 컨트롤러 SecondViewController.m/.h/.xib
도 있습니다. 그 xib는 기본적으로 테이블 뷰의 열에 바인딩 된 ArrayController와 함께 테이블 뷰를 포함합니다. 이것은 바인딩 및 선택 등에서 잘 작동합니다.
이제 주 컨트롤러로 돌아와서 테이블보기로 선택 색인 인 SecondViewController
에 액세스하고 싶습니다.
나의 시도는 지금까지
내 주요 XIB에서, 나는 IB에서의 ViewController를 작성
SecondViewController
에 사용자 정의 클래스와 nib 파일을 설정합니다.SecondViewController
의 XIB에 ArrayController가 작성되었으며, contentArray는 KVC 목록 속성 'lists'로 설정됩니다. 위에서 언급 한 것처럼 테이블 뷰에 내용이 올바르게 표시됩니다.Q :
SecondViewController
에서 선택한 객체에 액세스 할 수있는 방법으로 MainViewController에서 바인딩을 설정하려면 어떻게해야합니까? 왜냐하면 그 객체에 대한 세부 정보를 메인 뷰 컨트롤러의 서브 뷰로 그려야하기 때문입니다. Cocoa Tutorials에 설명 된 마스터 - 세부 인터페이스의 종류. 당신이 할을 관찰 키 - 값을 사용하려면
SecondVC 인스턴스를 가리키는 MainVC의 secondVC 콘센트를 만듭니다. SecondVC의 테이블 뷰를 가리키는 SecondVC의 tableView 콘센트가 있어야합니다. MainVC에서 secondVC.tableView.selectionIndex ...라는 키 패스를 사용 하시겠습니까? 꽤 바닐라 물건이기 때문에 좀 더 복잡한 것을하려고하는지 궁금합니다. – stevesliva
아마도 쉽습니다. 그래서 내 mainvc에서 나중에 노출하기 위해 secondVC에서 tableview 콘센트가 필요하다는 뜻입니까? btw에는 selectionIndex가없고 selectedRowIndexes 만 있습니다 - 그게 무슨 뜻입니까? – Rabiees
그래, 의미. 그러나 MainVC가 secondVC 인스턴스를 추적하기 위해 약간의 작업을 수행하는 한 (nil 포인터는 사용하지 않음) 계층 적 keypath를 바인딩 할 수없는 이유는 없습니다. – stevesliva