0

두 개의 TableView (하나의 SourceList와 하나의 일반 TableView)가 있습니다. ArrayController를 사용하지 않고 다음을 사용합니다.다른 콘텐츠가있는 NSTableView가 두 개 이상 있습니다. 데이터가 표시되지 않습니다.

- (id)tableView:(NSTableView *)aTableView 
objectValueForTableColumn:(NSTableColumn *)aTableColumn 
      row:(NSInteger)rowIndex; 

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView; 

행 내용을 표시합니다. 그러나 문제는 하나의 TableView 만 가지고있는 것이 아니라 하나 이상을 가졌습니다. 그래서이 코드 안에 다른 NSObject를 추가했습니다. 그러나 내용은 보여주지 않습니다.

ArrayControllers를 사용해야합니까? 아니면 다른 방법으로 두 번째 TableView의 내용을 표시 할 수 있습니까?

답변

0

어레이 컨트롤러를 사용할 필요가 없습니다. 실제로 그들은 코코아의 삶의 대부분을 위해 존재하지도 않았습니다. 데이터 소스 프로토콜은 잘 작동합니다 (어떤 경우에는 더 좋음).

각 컨트롤러마다 하나씩 컨트롤러를 가질 수 있지만, 위의 소스에있는 aTableView와 각각의 데이터 소스 및 위임 방법에서 테이블보기에 대한 참조를 얻을 수 있습니다. 테이블보기에 따라 다른 응답. 이렇게하면 하나의 컨트롤러가 마스터/세부 UI의 두 테이블 모두에 대한 책임을 질 수 있습니다. 즉 :

테이블 뷰 : "3 행의 열 A는 무엇입니까?"

컨트롤러 : "누가 묻고 있습니까?"

데이터가 표시되지 않는 경우 두 번째 컨트롤러를 인스턴스화하고 문제 테이블의 데이터 소스를 연결 했습니까? -reloadData에 테이블을 요청 했습니까? 제한된 정보로 도와 드릴 수 없습니다.

+0

우선이 답변에 감사드립니다.이 아이디어는 내 마음 속에있었습니다. 하지만 난 그것을 개발할 수 없습니다 : S 예 내 두 번째 컨트롤러는 내 두 번째 TableView의 데이터 소스입니다.하지만 다시로드하지 마십시오. – ahmet2106

+0

를 사용할 때 데이터를 표시하기 위해 테이블 ​​뷰를 가져 오려면 -reloadData를 호출해야합니다. 실험 계획안. –