2012-07-07 2 views
3

저는 AppKut을 처음 접했지만 UIKit에는 접근 할 수 없습니다.
NSTableView을 사용하려고하며 프로그래밍 방식으로 채 웁니다. tableView : viewForTableColumn : 행 : 호출되지 않음

그래서 나는
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { 
    return 1; 
} 

- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{ 
    return nil; 
} 

를 구현하고 나는 인터페이스 빌더에서 대리인 및 데이터 소스로 내 수업을 설정합니다.
numberOfRowsInTableView이 호출되었지만 tableView:viewForTableColumn:row:은 호출되지 않습니다. 내가

-(id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex{ 
    return @"toto"; 
} 

를 추가하는 경우

이 하나가 호출됩니다.

내가 이해하면 tableView:viewForTableColumn:row:이 뷰 기반 테이블에 호출되고 tableView:objectValueForTableColumn:row:이 셀 기반 테이블에 호출됩니다.

테이블을 뷰 기반으로 정의하려면 어떻게해야합니까?

편집 : 확인 ... 그래서 문제는 내가 10.6있는 tableView를 사용하고 있습니다 : viewForTableColumn : 행 : 10.7부터 사용할 수 있습니다. 그래서 10.7 이전에는 Cell-Based 테이블 만 존재한다는 것을 의미합니까?

답변

3

Interface Builder의 Attributes inspector 창 (Cmd-Opt-4)에서 테이블 뷰 유형을 View Based로 설정하십시오. 기본적으로 셀 기반입니다.

왼쪽 개체보기 또는 편집기에서 표보기를 선택해야합니다. 에디터에서 처음 클릭 할 때 스크롤 뷰를 선택할 것이므로 두 번째 클릭으로 테이블 뷰 객체를 선택해야합니다.

OS X 10.7 SDK 및보기 기반 테이블보기에 Xcode 4.3 이상이 필요하다고 생각합니다.

+0

ok ... 문제는 10.6을 사용하고 tableView : viewForTableColumn : row : 10.7부터 사용할 수 있습니다. 그래서 10.7 이전에는 Cell-Based 테이블 만 존재한다는 것을 의미합니까? –

+0

네, 정확히 10.6을 타겟팅하는 경우 셀 기반 테이블 뷰를 사용해야합니다. – Monolo

+0

좋아요 ... 다시 한번 감사드립니다 ... 제가 생각하기에 더 많은 문서를 읽어야합니다. –

관련 문제