nstableView에서 NSViewController로 데이터를 가져옵니다
-
20-09-2019 - |
문제
사용자가 행을 두 번 클릭 할 때 '세부 사항보기'를 원합니다. NSViewController에 데이터를 가져 오는 방법은 확실하지 않으므로 컨텐츠를 표시 할 수 있습니다. 나는 Coredata를 사용하고 있으며 이것을 할 방법을 생각할 수 없습니다.
해결책
여기에는 몇 가지 단계가 필요합니다.
테이블보기가 a
NSArrayController
테이블 뷰 (창 컨트롤러 또는 뷰 컨트롤러 등)의 컨트롤러가NSArrayController
IVAR에 묶여 액세스 할 수 있습니다.테이블 컨트롤러에서 Double Click 작업을 컨트롤러의 메소드로 설정하고 대상을 컨트롤러로 설정합니다.
더블 클릭 메소드에서는 요청하여 행에 액세스 할 수 있습니다.
-selectedObjects
~로부터NSArrayController
그리고 그 결과NSArray
하나의 요소 만 있어야합니다.
거기에서 당신은 당신의 세부 뷰 또는 당신이하고 싶은 다른 것을 만들 수 있습니다. 시트를 만들고 표시하고 모달 창을 열 수 있습니다.
다른 팁
코코아 바인딩.
애플은 훌륭합니다 마스터-디테일 인터페이스 생성에 대한 튜토리얼S 온라인.
Xcode 3.2를 사용하는 경우 스크린 샷이 약간 구식이지만 다르지 않습니다.
NSViewController는 a 대표 현재 표시중인 모델 객체에 바인딩 할 수있는 속성.
편집하다:확인. 내 대답은 진실의 절반에 불과하기 때문에 그렇게 크지 않습니다.
디테일 뷰 내에서 컨트롤을 바인딩하는 방법을 보여 주지만 배열 컨트롤러의 선택을 View Controller의 바인딩하는 방법에 대한 솔루션을 제공하지 않습니다. representedObject
.
이 문제에 대한 바인딩 전용 솔루션에 관심이 있습니다.