2013-02-04 4 views
0

내가 좀 혼란이, 일부 행으로의 TableView를 채워 10.7 OSX있는 tableview 혼란,는 Mac에서 코코아를 사용

이름을 채우는 것은 *는 NSString *

- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex; 
{ 
    return [names objectAtIndex:rowIndex]; 
} 

내가 프로토콜 참조를 확인 포함하는있는 NSArray입니다 내가는 위의 함수에있는 NSString *를 반환하고

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Protocols/NSTableDataSource_Protocol/Reference/Reference.html

사과의 문서에 데이터 소스에 대한 메서드의 서명은 NSString *이 아닌 id 만 반환합니다. 문서는 그냥

An item in the data source in the specified tableColumn of the view. 

내 경우는 간단한있는 NSString *이 감각을 만들어 그 일을하지만 확실하지 않다 였다고 반환 형식에 대해 나에게 단서를주지 않았다. 이 암시 적 지식은 어디에서 왔는지 데이터 형식이이 메서드에서 반환해야하는 것으로부터 오는 곳이 궁금합니다./

조언이 있습니까? 나는 닷넷/안드로이드/배경에서 거기에있는 문서를 더 강하게 입력 된 lanuguages, 있기 때문에 더 많은 감각을 만들었습니다. ...

답변

0

반환해야하는 개체 유형은 NSTableView의 셀 정의 방법을 기반으로합니다 . 기본적으로 Interface Builder에서 NSTableView를 만들 때 셀은 NSTextFieldCell로 정의되므로 해당 셀에 대한 NSString을 반환 할 수 있습니다. 그러나 코드에서 다른 유형의 객체를 허용하도록 셀을 정의 할 수 있습니다 (예 : NSImageCell, NSButtonCell 등).

관련 문제