2009-12-16 5 views

답변

6

NSTableView을 사용할 때 발생하는 일을 제어하려면 NSTableViewDelegate을 사용해야합니다. 테이블을 개최하여 관련 뷰가 MyViewController라는 경우 인터페이스 (.h) 파일은 다음과 같이 시작한다 : 나는

- (id)init { 
    [super init]; 
    myTableView.delegate = self; 
    return self; 
} 

- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)rowIndex { 
    NSLog(@"%i tapped!", rowIndex); 
    return YES; 
} 
+0

나는 옳고 그름을하고 있는지 알지 못한다. (웹상에 혼란스러운 튜토리얼이 있으므로). 그러나 해결책은 위와 같다. :) Thanks !! –

+2

이 방법을 사용할 수 있기 때문에 upvoted했습니다. 그러나 사용하는 더 좋은 방법은'tableViewSelectionDidChange :'입니다. 사용하는 메서드가 실제로 선택 권한이 변경 될 수 있는지 여부를 묻는 것입니다. – JeremyP

-5

내가 누락 된 항목이 있습니까? 다음 위임 메서드에서 호출하십시오. didSelectRowAtIndexPath

+0

필요

@interface MyViewController : NSObject <NSTableViewDelegate> { 

그리고 구현에 (.m) 파일이 있습니다 NSTableView 용입니다. – Joshua

+4

많은 설명서를 읽어야합니다. –

+0

왜 그 때입니까? – Joshua

2

여기는 NSTableViewDelegate docs에 대한 링크입니다.

+0

NSTableViewSelectionDidChangeNotification? – Joshua

+0

알림 이름입니다 (알림이 끝나는 이유입니다). 알림을 관찰하는 것도 한 가지 방법이지만 대리인이되는 것이 더 쉽습니다. –

관련 문제